自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(58)
  • 资源 (2)
  • 收藏
  • 关注

原创 C#泛型约束

泛型约束https://www.cnblogs.com/dudu/p/set-default-startup-project-in-visual-studio.html

2022-06-09 11:52:50 145

原创 协变与逆变

协变:能够使用比原始指定的派生类型的派生程度更大的类型。逆变:能够使用比原始指定的派生类型的派生类型更小的类型。

2022-06-09 11:03:00 177

原创 捕获未处理的异常

处理程序中没有被try-catch捕获的异常,避免程序异常退出(或者在退出之前记录日志信息)。

2022-06-06 14:18:11 664

原创 Winfrom Chart 实时数据、滚动、缩放

代码 代码 代码

2022-05-27 15:54:32 510

原创 C#中的抽象属性

代码1:using System;using System.Text;namespace 抽象属性{ class Program { static void Main(string[] args) { Student s = new Student(); s.Name = "渣渣辉";...

2019-08-08 10:37:22 885

原创 C#中的抽象类、抽象方法

代码1:using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace 抽象类_抽象方法{ class Program { static void Main(strin...

2019-08-07 17:37:45 775

原创 C#中的继承、重载、覆写

代码1:using System;using System.Text;namespace 继承_重载_覆写{ class Program { static void Main(string[] args) { Person p = new Person(); p.selfIntroduct...

2019-08-07 16:25:59 594

原创 Thrift白皮书(翻译)

注:本文翻译自http://thrift.apache.org/static/files/thrift-20070401.pdfThrift:可扩展的、跨语言的服务实现摘要Thrift是Facebook为了促进高效、可扩展的后台服务的开发和实现而开发的一套软件库和代码生成工具集。它的主要目标是通过将各个语言中趋于大量定制的部分抽象进一个被各个语言实现的公共语言库中实现高效、可靠的跨语言通信。...

2019-07-16 13:58:24 487

原创 C#中的短路运算符

using System;namespace 短路运算符{ class Program { static void Main(string[] args) { Console.WriteLine("*************************** true && true ************...

2019-07-11 11:46:54 1877

原创 C#中的TaskCompletionSource<TResult>

Represents the producer side of a Task<TResult> unbound to a delegate, providing access to the consumer side through the Task property.参考资料:https://docs.microsoft.com/en-us/dotnet/api/system....

2019-06-17 17:14:08 2041 2

原创 C#异步编程之async/await

通过async/await这两个关键字编写出来的代码,代码长(zhang)的像同步编程,但实际上是异步编程。也就是说,async/await能够以同步编程的形式实现异步编程。 async/await是C#5.0引入的。 关键字async用在方法定义前面,关键字await只能用在async标记的方法中。 async修饰的方法的返回值类型只能是void或者Task或者Task<T>这...

2019-06-17 15:12:53 374

原创 C#中的Task

Task的优势ThreadPool相比Thread来说具备了很多优势,但是ThreadPool存在一些使用上的不方便。比如:ThreadPool不支持线程的取消、完成、失败通知等交互性操作;ThreadPool不支持线程执行的先后顺序。以往,如果开发者要实现上述功能,需要完成很多额外的工作。现在,FCL(Framework Class Library)提供了一个功能更加强大的概念:Task。T...

2019-06-13 16:59:28 2675

原创 C#中的Task.Delay()和Thread.Sleep()

Thread.Sleep()是同步延迟,Task.Delay()是异步延迟。 Thread.Sleep()会阻塞线程,Task.Delay()不会。 Thread.Sleep()不能取消,Task.Delay()可以。 Task.Delay()实质创建一个运行给定时间的任务,Thread.Sleep()使当前线程休眠给定时间。 反编译Task.Delay(),基本上讲它就是个包裹在任务中的...

2019-06-10 19:04:13 31129 4

原创 C#中的CancellationTokenSource

CancellationTokenSource用于取消基于Task建立的线程(单个线程、多个线程都可以)。 定时取消也是可以的。 可以通过合并多个cts,达到其中一个任务取消,则任务全部取消的效果。参考资料:https://www.cnblogs.com/majiang/p/7920102.html(目前还看不懂)https://www.cnblogs.com/luohengstud...

2019-06-05 17:48:20 10143

原创 C#中的Action和Func(范型委托)

以前使用委托需要定义委托然后绑定方法,不够简洁。现在通过Action和Func可以简化委托的使用。Action<T1,T2,T3,T4,...>表示有n个参数(参数类型可以不同),但没有返回值的委托。Func<T1,T2,T3,T4,...,TResult>表示有n个参数(参数类型可以不同)且有一个返回值的委托(返回值类型为TResult)。参考资料:h...

2019-06-05 09:18:21 319

原创 C#中的IEnumerable

在MSDN上,是这么说的,它是一个公开枚举数,该枚举数支持在非范型集合上进行简单的迭代。参考资料(非常好):https://www.cnblogs.com/fangyz/p/5721269.htmlhttps://blog.csdn.net/weixin_42339460/article/details/80733758以下为本人的调试代码:代码1:using Syste...

2019-06-04 17:07:45 16494

原创 C#参数列表中的params

在参数数目可变时采用方法参数params。 params关键字之后不允许任何其他参数,并且在方法声明中只允许一个params关键字。 params不允许与ref\out组合使用。 params在你不知道参数数量时显得很有用,虽然也可以使用List等集合代替,但是params显得更直观。 params只能用于一维数组,不能用于多维数组和诸如ArrayList、List<T>等类似...

2019-06-04 11:28:59 2984

原创 C#参数列表中的this(扩展方法)

参数列表中this的这种用法是在.NET 3.0之后新增的一种特性---扩展方法。通过这个属性可以让程序员在现有的类型上添加扩展方法(无需创建新的派生类型、重新编译或者以其他方式修改原始类型)。 扩展方法是一种特殊的静态方法,虽然是静态方法,但是可以像使用类型上的实例方法一样去使用扩展方法(调用扩展方法与调用在类型中实际定义的方法之间没有明显的差异)。 扩展方法的第一个参数指定该方法作用于哪个...

2019-05-31 18:10:37 5002

原创 C#中的静态类、静态成员、静态构造函数

静态类 关键字static修饰的类称之为静态类。 静态类不能实例化。 static关键字可以防止程序员写代码实例化静态类,也可以防止在静态类的内部声明任何实例成员。 C#编译器会自动把静态类标记为sealed,这个关键字将类指定为不可扩展(不能从它派生出其他类)。 静态类特性:仅包含静态成员;无法实例化;属于密封类;不能包含实例构造函数(但可以包含静态构造函数)。 静态成员 ...

2019-05-31 10:51:50 4601

原创 C#中的状态机

状态机是一种记录状态的机器。迭代器中的yield return每次调用时返回一个元素并阻塞,再次调用时从阻塞处继续执行,靠的就是状态机,状态机为其记录了上下文的状态(迭代器中状态机记录的是迭代器游标)。参考资料:https://blog.csdn.net/qq_31116753/article/details/81366669...

2019-05-29 13:40:50 4038

原创 C#中的yield return和yield break

yield return和yield break通常在迭代器中使用,用yield return来返回值,用yield break来结束迭代器。(迭代器中不建议使用return和break) 迭代器中的yield break相当于普通方法中的return,直接终止方法(不仅仅是终止循环,是终止整个方法,这一点不同于break,break只跳出一层循环,后面的语句仍然执行)而不执行yield bre...

2019-05-29 10:55:19 3172

原创 C#中的is和as

using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace is和as{ /* * is的作用:用于判断类型是否匹配,匹配返回ture,不匹配返回false;is操作符永远不会抛出异常。 * 例:obj is TypeA; ...

2019-05-27 15:07:14 171

原创 C#装箱与拆箱

1.装箱和拆箱发生在值类型和引用类型之间相互转换时。2.装箱:值类型转换为引用类型。3.拆箱:引用类型转换为值类型。4.因为值类型存储在栈上,引用类型存储在堆里,所以在值类型和引用类型转换时需要装箱拆箱。5.范型为什么能避免装箱拆箱:因为范型在声明时已经指定了类型,赋值操作时两个操作数类型一样,所以不需要装箱拆箱。参考资料:https://www.cnblogs.com/yuk...

2019-05-24 18:00:35 192

原创 XP系统“拒绝写入”文件的方法

XP系统“拒绝写入”文件的方法1.设置NTFS“拒绝写入”只能在NTFS文件系统中进行设置。如果待设置文件所在磁盘的文件系统不是NTFS,需要将其转换为NTFS。如果是NTFS,则可以进行下一步操作。转化为NTFS的方法如图1.1至1.8所示。图 1.1图 1.2图 1.3图 1.4图 1.5图 1.6图 1.7图 1.8...

2019-04-23 15:08:28 538

转载 通过命令行删除优盘启动盘的隐藏分区

1.首先 win + R打开运行程序,并输入cmd,按回车(Enter)。2.在命令提示窗口下输入diskpart之后按回车Enter,进入diskpart交互环境。3.输入lis dis后按回车Enter,显示所有的磁盘,这时你会看到两个磁盘,磁盘0和磁盘1,磁盘1就是你的U盘(通过大小你可以看出)。 4.输入sel dis 1,并按回车Enter,选定磁盘1。注...

2019-02-22 10:01:03 5109 5

原创 C#中?和??的含义

C#中,?有两个含义:?的第一个含义:?表示该类型可空(可为null),用法为T?。例如,int类型是值类型(不可为null),但int?类型可以为空(可为null)。举例: int a = 3;(编译通过) int b = null;(编译报错) int?c = null;(编译通过)?的第二个含义:组成三元运算符,...

2019-02-15 10:23:20 4771

转载 c#异步通信中回调函数AsyncCallback如何传递参数

https://zhidao.baidu.com/question/263862585639102325.html

2018-12-11 15:57:50 6770

转载 C#获取当前主机硬件信息

https://blog.csdn.net/scimence/article/details/44812243https://blog.csdn.net/mysce/article/details/72853394https://www.cnblogs.com/xcjit/p/6747767.html

2018-12-07 14:41:35 669

转载 c#集合类的线程安全(整理)

https://blog.csdn.net/wlanye/article/details/8668089

2018-11-05 10:47:41 6103

转载 为什么要进行装箱和拆箱行为

https://bbs.csdn.net/topics/390624164?page=1四楼的回答很好

2018-11-05 10:05:07 3815

转载 RabbitMq常见问题

https://blog.csdn.net/vbirdbest/article/details/78670550https://yq.aliyun.com/articles/41827https://blog.csdn.net/jiao_fuyou/article/details/22053663https://blog.csdn.net/cool_126/article/detail...

2018-09-14 17:13:34 829

转载 正则表达式学习

匹配中文:https://www.zybang.com/question/992381380a9d5da838c3e8a85557590f.html断言:https://zhidao.baidu.com/question/154942239.html语法:http://www.runoob.com/regexp/regexp-syntax.htmlhttps://www.c...

2018-09-05 09:07:40 129

转载 C#Semaphore信号量用法

https://www.cnblogs.com/zyhblogs/p/4002046.html

2018-08-23 19:19:36 1082

转载 解决“在证书存储区中找不到清单签名证书”

https://www.cnblogs.com/190196539/archive/2011/12/03/2272861.html

2018-08-23 19:16:08 1452

转载 everything快速搜索的原理及C#实现

https://blog.csdn.net/ligengdipan/article/details/53135643https://blog.csdn.net/zp373860147/article/details/8218025https://blog.csdn.net/lonelyrains/article/details/39560239https://blog.csdn.net...

2018-08-23 19:14:04 5229

转载 C#获取当前程序运行路径的方法集合

https://www.cnblogs.com/CSharpLover/p/5969017.html

2018-08-20 11:57:51 314

转载 通过xml的方式修改配置文件(不丢失注释)

http://greatverve.cnblogs.com/archive/2011/07/18/app-config.html https://bbs.csdn.net/topics/391024612

2018-08-20 11:57:31 1702

转载 合并两个数组

https://www.cnblogs.com/gester/p/5458405.html

2018-08-19 21:43:38 1189

转载 文件的创建时间、修改时间、访问时间

https://blog.csdn.net/D_R_L_T/article/details/74611126

2018-08-19 21:42:52 9561 1

转载 .config配置文件读写

https://www.cnblogs.com/feiyuhuo/p/5243967.html https://blog.csdn.net/yin3072114/article/details/50667014 https://www.cnblogs.com/luxiaoxun/p/3599341.html

2018-08-19 21:42:04 363

Winform Chart Control Demo

Winform Chart Control Demo

2022-05-27

Winfrom Chart 实时数据、滚动、缩放

Winfrom Chart 实时数据、滚动、缩放

2022-05-27

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除