![](https://img-blog.csdnimg.cn/d7f2e7d162fa4cbc9d89f3d1cff21d2d.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
C#知识汇总
文章平均质量分 50
C#知识拾贝
明如正午
梦想若缺少爱和信仰,终将成为生命的圈套!
展开
-
C#【文件操作篇】按行读取txt文本
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using System.IO...原创 2019-10-20 22:54:07 · 16387 阅读 · 4 评论 -
C#【时间相关篇】Forms.Timer、Timers.Timer、Threading.Timer的比较
一、Forms.Timerusing System.Windows.Forms.Timer;实现按用户定义的时间间隔引发事件的计时器。此计时器最宜用于 Windows 窗体应用程序中,并且必须在窗口中使用。这个类在Windows应用程序中使用,用来定期把WM_TIMER消息放到程序的消息队列中。当程序从队列中获取消息后,它会在主用户接口线程中同步处理,这对Windows应用程序来说非...原创 2019-08-26 14:29:17 · 3776 阅读 · 3 评论 -
C#【知识汇总】总目录【持续更新中......】
C#常用知识分类汇总原创 2023-05-08 21:00:00 · 756 阅读 · 1 评论 -
C#【文件操作篇】文件过滤器Filter使用说明
OpenFileDialog对话框的Filter属性说明:示例:“ Excel文件|.xls ”,前面的“Excel文件”称为标签,是一个可读的字符串,可以自定定义;“|.xls”是筛选器,表示筛选文件夹中后缀名为.xls的文件,“*”表示匹配Excel文件名称的字符串。经常要用到的几种情况:1. Filter是null或Empty表示显示所有文件,并总会显示文件夹2. 需要筛选特定的文件设置Filter属性为“标签|*.后缀”,按照这个格式设置,标签可以自定义,是字符串即可,后缀表示你需要原创 2022-01-26 11:35:20 · 4736 阅读 · 0 评论 -
C#【多线程篇】直面Invoke——经典!!!
一般来说,Invoke其实用法只有两种情况:Control的InvokeDelegate的Invoke转载 2022-08-11 20:00:00 · 1948 阅读 · 3 评论 -
C#【委托/事件篇】跨线程访问窗体控件的方法
跨线程访问窗体控件的几种方法原创 2022-08-09 14:49:14 · 7165 阅读 · 0 评论 -
C#【中级篇】数组中Skip和Take方法的使用
一分钟识点扫盲Skip Take 是C#里面集合的扩展方法Skip是跳过第几个之后开始,取得的值包括当前下标值的内容Take 是获取到第几个下标为止,取得的值不包括当前下标值的内容var list = new List<int>();//比如 list里面是 1,2,3,4,5,6,7,8,9,10var result = list.Skip(2); //返回值就是 3,4,5,6,7,8,9,10;var result = list.Take(2); //返原创 2021-08-17 15:14:09 · 3450 阅读 · 0 评论 -
C#【时间相关篇】实现微秒(Microseconds)级延时
C#实现微秒(us)级延时原创 2022-09-07 21:00:00 · 3953 阅读 · 2 评论 -
C#【时间相关篇】使用TimeSpan计算时间差
C#-使用TImeSpan计算两个时间的间隔原创 2022-01-26 15:50:36 · 1215 阅读 · 0 评论 -
C#【系统信息篇】获得本地计算机名称和登录用户名
获得本地计算机名称和登录用户名原创 2022-10-25 19:00:00 · 2309 阅读 · 0 评论 -
C#【文件操作篇】保存内容到txt文件
源码:using System;using System.Collections.Generic;using System.IO;using System.Linq;using System.Text;using System.Threading.Tasks;namespace ConsoleApp1{ class Program { static void Main(string[] args) { //将02 03原创 2022-05-12 16:12:55 · 12089 阅读 · 0 评论 -
C#【文件操作篇】PDF文件和图片互相转换
PDF文件和图片互转,提供源码可实现功能:**1.PDF转换成图片:**将PDF文件按页转换成.Png图片格式,转换结束会有提示(转换过的文件将自动移动到对应的文件夹,防止多次转换)**2.图片转换成PDF:**可以将单张照片(.Png/.png)分别转换成.pdf文件,转换结束会有提示(转换过的图片将自动移动到对应的文件夹,防止多次转换)原创 2022-03-18 16:42:54 · 5879 阅读 · 1 评论 -
C#【多线程篇】AutoResetEvent和ManualResetEvent的区别
说明:引入命名空间:using System.Threading;AutoResetEvent:autoResetEvent.WaitOne();//运行完后,自动将事件状态设置为无信号ManualResetEvent:manulResetEvent.WaitOne();//运行完后,不会自动将事件状态设置为无信号控件布局:测试代码1【ManualResetEvent】:using System;using System.Threading;using System.Windows原创 2022-03-15 13:37:57 · 413 阅读 · 0 评论 -
C#【多线程篇】Thread的IsBackground属性的使用
说明:Thread的IsBackground = true;//主程序结束后,线程随之结束【日常要用到的】Thread的IsBackground = false;//主程序结束后,线程不会随之结束代码:using System;using System.Threading;namespace ConsoleApp1{ class Program { static void Main(string[] args) { Th原创 2022-03-15 11:32:50 · 2422 阅读 · 5 评论 -
C#【多线程篇】模拟网络通信定时心跳检测连接状态(AutoResetEvent)
说明:System.Threading命名空间下的AutoResetEvent的使用控件布局:代码:using System;using System.Threading;using System.Windows.Forms;namespace WindowsFormsApp2{ public partial class Form1 : Form { public Form1() { InitializeCompo原创 2022-03-15 13:18:13 · 1509 阅读 · 0 评论 -
C#【多线程篇】通过给定取消信号结束线程(CancellationTokenSource)
说明:通过使用System.Threading命名空间下的CancellationTokenSource类的.Token.IsCancellationRequested和.Cancel()来结束线程控件布局代码using System;using System.Threading;//CancellationTokenSource类用到using System.Windows.Forms;namespace WindowsFormsApp2{ public partial原创 2022-03-15 10:56:03 · 918 阅读 · 0 评论 -
C#【文件操作篇】一种提高C#实时存储excel文件速度的方法
在上位机软件设计及实际应用过程中,常常需要对一些重要的数据进行excel存储,单次导出还好,耗费不了太多时间,如果是实时进行存储的话,设计不当, 可能会比较占用资源,导致上位机运行比较卡顿。如果数据量比较大,也可能会出现定时存储的excel数据与期望的存储周期不匹配的现象。转载 2022-03-01 16:22:42 · 1599 阅读 · 2 评论 -
C#【文件操作篇】打开指定路径的文件夹
打开D盘下的WorkSpace文件夹:string strPath = @"D:\WorkSpace"; System.Diagnostics.Process.Start("explorer.exe", path);原创 2022-01-20 11:18:40 · 5390 阅读 · 0 评论 -
C#【控件篇】Winform设计浮动工具栏(控件ToolStrip的使用)
窗体控件和代码如下:效果如下:原创 2022-01-12 13:35:09 · 2193 阅读 · 1 评论 -
C#【文件操作篇】路径的截取、文件名称截取、后缀名截取, 不写split、不用substring
如果你要截取文件的文件名称、后缀名称、看这个就对了,不用去写split、也不用substring()转载 2022-01-12 11:23:34 · 650 阅读 · 0 评论 -
C#【控件篇】Winform中使用MDI窗体
可以通过此示例,学习MDI窗体的使用,以及各种窗体布置,包括:1.垂直分布;2.水平分布;3.层叠分布原创 2021-12-23 17:09:38 · 1387 阅读 · 0 评论 -
C#【文件操作篇】S19文件转bin文件
C#实现S19文件转bin文件如果对于S19文件格式不懂,可见:S19文件格式详解(1):https://star-302.blog.csdn.net/article/details/119564818S19文件格式详解(2):https://star-302.blog.csdn.net/article/details/119565232原创 2021-08-18 16:35:15 · 2507 阅读 · 0 评论 -
C#【文件操作篇】二进制文件的写入和读取
C#—二进制文件的写入和读取控件布局代码运行结果The End控件布局控件名称分别如下:(和控件布局一致)textBox1,textBox2button1,button2代码写入二进制文件读取二进制文件运行结果写入按钮的运行结果对应生成的二进制文件The End...原创 2021-08-18 15:49:36 · 4662 阅读 · 0 评论 -
C#【控件篇】TextBox中只能输入16进制数的格式(长度:2,字母只能是大写)
1.设置最大输入长度:22.编写输入事件代码,如下3.运行结果:The End原创 2021-08-09 09:09:11 · 3346 阅读 · 0 评论 -
C#【控件篇】按Tab键可以跳转到下个控件(TabIndex、TabStop的设置)
实现功能当按下键盘上的Tab键时,会根据当前窗体控件的TabIndex属性自动跳转到对应的控件上。方法一:通过控件的属性来设置方法二:当控件很多时,一个一个更改TabIndex属性会很麻烦,可以用如下方法接下来,窗体控件变成下图这样,可以通过点击控件来按序增加TabIndex的值。设置完成后,如下图至此,当软件运行时,就可以通过按Tab键,根据TabIndex的值依次跳转到对应的控件上了。The End...原创 2021-08-06 17:34:10 · 4098 阅读 · 0 评论 -
C#【文件操作篇】复制文件到另一个文件,并显示复制进度
1.Main方法static void Main(string[] args) { string source = @"C:\test1.txt";//源文件路径 string target = @"C:\text2.txt";//目标文件路径 float percent = 0;//控制台输出拷贝进度,百分比格式 CopyFile(source, target, ref percent);//调用拷贝文件的方法 Console.ReadLine();}2.CopyFile方法stati转载 2021-08-03 14:41:10 · 2499 阅读 · 0 评论 -
C#【多线程篇】多线程
线程函数通过委托传递,可以不带参数,也可以带参数(只能有一个参数),可以用一个类或结构体封装参数:using System;using System.Threading;namespace Test{ class Program { static void Main(string[] args) { Thread t1 = new Thread(new ThreadStart(TestMethod));原创 2021-06-30 14:26:23 · 365 阅读 · 0 评论 -
C#【委托/事件篇】委托经典实例
实例1:实例2:实例3:实例4:实例5:实例6:原创 2021-06-30 10:18:14 · 2040 阅读 · 0 评论 -
C#【泛型篇】Dictionary应用实例2
C#-Dictionary使用实例转载 2021-04-16 10:24:08 · 195 阅读 · 0 评论 -
C#【泛型篇】Dictionary应用实例1
C#-Dictionary的使用实例原创 2021-04-16 10:17:49 · 172 阅读 · 0 评论 -
C#【控件篇】组件HelpProvider
运行后,点击“F1”,即可打开.chm帮助文件原创 2021-02-26 15:10:53 · 707 阅读 · 0 评论 -
C#【控件篇】组件ErrorProvider的使用
C#语言,Winform中,组件ErrorProvider的使用原创 2021-02-26 14:31:26 · 1048 阅读 · 0 评论 -
C#【多线程篇】线程池的使用与线程终止继续
原创 2021-02-24 15:14:10 · 495 阅读 · 0 评论 -
C#【异步操作篇】async/await使用实例
using System;using System.IO;using System.Threading.Tasks;namespace ConsoleApp1{ class Program { public static void Main() { Console.WriteLine("Hey David, How much is 98745 divided by 7?"); Task<int.原创 2020-12-15 17:45:52 · 298 阅读 · 0 评论 -
C#【时间相关篇】使用System.Threading.Stopwatch记录时间间隔
C#-【时间相关篇】使用System.Threading.Stopwatch记录时间间隔原创 2020-12-15 17:08:51 · 205 阅读 · 0 评论 -
C#【时间相关篇】System.Threading.Timer如何停止
```csharpusing System;using System.Threading;namespace ConsoleApp1{ class Program { static void Main(string[] args) { ThreadPool.SetMaxThreads(5000, 1000); TimerCallback callback = new TimerCallback(Th.原创 2020-12-04 11:23:35 · 5937 阅读 · 0 评论 -
C#【时间相关篇】确定操作系统上系统时钟的分辨率
using System;using System.Runtime.InteropServices;public class Example{ [DllImport("kernel32.dll", SetLastError = true)] static extern bool GetSystemTimeAdjustment(out long lpTimeAdjustment, out lo...转载 2020-11-27 15:57:03 · 628 阅读 · 0 评论 -
C#【文件操作篇】使用Path类、Environment类获取路径、文件名、扩展名
文件和文件夹的路径操作都在Path类中。另外还可以用Environment类,里面包含环境和程序的信息。string dirPath = @"D:\TestDir";string filePath = @"D:\TestDir\TestFile.txt";Console.WriteLine("<<<<<<<<<<<{0}...原创 2020-02-12 09:59:54 · 670 阅读 · 0 评论 -
C#【特性篇】C#4.0的Dynamic特性-using System.Dynamic
方便理解示例:using System;using System.Dynamic; namespace ConsoleApp5{ class Program { static void Main(string[] args) { dynamic Customer = new ExpandoObject();...原创 2019-09-04 14:58:33 · 471 阅读 · 0 评论 -
C#【多线程篇】Parallel.For和for的效率比较(Paralle.Foreach和foreach比较类似)
1、执行耗时任务(Parallel.For更快,多线程执行)using System;using System.Threading.Tasks; // Must use this namespaceusing System.Diagnostics;using System.Threading;namespace ExampleParallelFor{ ...原创 2019-08-23 17:52:03 · 1410 阅读 · 1 评论