- 博客(58)
- 资源 (2)
- 收藏
- 关注
原创 C#泛型约束
泛型约束https://www.cnblogs.com/dudu/p/set-default-startup-project-in-visual-studio.html
2022-06-09 11:52:50 172
原创 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 912
原创 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 806
原创 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 623
原创 Thrift白皮书(翻译)
注:本文翻译自http://thrift.apache.org/static/files/thrift-20070401.pdfThrift:可扩展的、跨语言的服务实现摘要Thrift是Facebook为了促进高效、可扩展的后台服务的开发和实现而开发的一套软件库和代码生成工具集。它的主要目标是通过将各个语言中趋于大量定制的部分抽象进一个被各个语言实现的公共语言库中实现高效、可靠的跨语言通信。...
2019-07-16 13:58:24 525
原创 C#中的短路运算符
using System;namespace 短路运算符{ class Program { static void Main(string[] args) { Console.WriteLine("*************************** true && true ************...
2019-07-11 11:46:54 1933
原创 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 2132 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 418
原创 C#中的Task
Task的优势ThreadPool相比Thread来说具备了很多优势,但是ThreadPool存在一些使用上的不方便。比如:ThreadPool不支持线程的取消、完成、失败通知等交互性操作;ThreadPool不支持线程执行的先后顺序。以往,如果开发者要实现上述功能,需要完成很多额外的工作。现在,FCL(Framework Class Library)提供了一个功能更加强大的概念:Task。T...
2019-06-13 16:59:28 2854
原创 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 32322 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 10515
原创 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 374
原创 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 16621
原创 C#参数列表中的params
在参数数目可变时采用方法参数params。 params关键字之后不允许任何其他参数,并且在方法声明中只允许一个params关键字。 params不允许与ref\out组合使用。 params在你不知道参数数量时显得很有用,虽然也可以使用List等集合代替,但是params显得更直观。 params只能用于一维数组,不能用于多维数组和诸如ArrayList、List<T>等类似...
2019-06-04 11:28:59 3171
原创 C#参数列表中的this(扩展方法)
参数列表中this的这种用法是在.NET 3.0之后新增的一种特性---扩展方法。通过这个属性可以让程序员在现有的类型上添加扩展方法(无需创建新的派生类型、重新编译或者以其他方式修改原始类型)。 扩展方法是一种特殊的静态方法,虽然是静态方法,但是可以像使用类型上的实例方法一样去使用扩展方法(调用扩展方法与调用在类型中实际定义的方法之间没有明显的差异)。 扩展方法的第一个参数指定该方法作用于哪个...
2019-05-31 18:10:37 5124
原创 C#中的静态类、静态成员、静态构造函数
静态类 关键字static修饰的类称之为静态类。 静态类不能实例化。 static关键字可以防止程序员写代码实例化静态类,也可以防止在静态类的内部声明任何实例成员。 C#编译器会自动把静态类标记为sealed,这个关键字将类指定为不可扩展(不能从它派生出其他类)。 静态类特性:仅包含静态成员;无法实例化;属于密封类;不能包含实例构造函数(但可以包含静态构造函数)。 静态成员 ...
2019-05-31 10:51:50 4720
原创 C#中的状态机
状态机是一种记录状态的机器。迭代器中的yield return每次调用时返回一个元素并阻塞,再次调用时从阻塞处继续执行,靠的就是状态机,状态机为其记录了上下文的状态(迭代器中状态机记录的是迭代器游标)。参考资料:https://blog.csdn.net/qq_31116753/article/details/81366669...
2019-05-29 13:40:50 4088
原创 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 3422
原创 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 190
原创 C#装箱与拆箱
1.装箱和拆箱发生在值类型和引用类型之间相互转换时。2.装箱:值类型转换为引用类型。3.拆箱:引用类型转换为值类型。4.因为值类型存储在栈上,引用类型存储在堆里,所以在值类型和引用类型转换时需要装箱拆箱。5.范型为什么能避免装箱拆箱:因为范型在声明时已经指定了类型,赋值操作时两个操作数类型一样,所以不需要装箱拆箱。参考资料:https://www.cnblogs.com/yuk...
2019-05-24 18:00:35 232
原创 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 597
转载 通过命令行删除优盘启动盘的隐藏分区
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 5459 5
原创 C#中?和??的含义
C#中,?有两个含义:?的第一个含义:?表示该类型可空(可为null),用法为T?。例如,int类型是值类型(不可为null),但int?类型可以为空(可为null)。举例: int a = 3;(编译通过) int b = null;(编译报错) int?c = null;(编译通过)?的第二个含义:组成三元运算符,...
2019-02-15 10:23:20 4947
转载 c#异步通信中回调函数AsyncCallback如何传递参数
https://zhidao.baidu.com/question/263862585639102325.html
2018-12-11 15:57:50 6878
转载 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 700
转载 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 851
转载 正则表达式学习
匹配中文: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 145
转载 解决“在证书存储区中找不到清单签名证书”
https://www.cnblogs.com/190196539/archive/2011/12/03/2272861.html
2018-08-23 19:16:08 1502
转载 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 5392
转载 通过xml的方式修改配置文件(不丢失注释)
http://greatverve.cnblogs.com/archive/2011/07/18/app-config.html https://bbs.csdn.net/topics/391024612
2018-08-20 11:57:31 1737
转载 文件的创建时间、修改时间、访问时间
https://blog.csdn.net/D_R_L_T/article/details/74611126
2018-08-19 21:42:52 9664 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 394
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人