-
[C#] 随机生成汉字(摘记保存的代码)
随机生成汉字(摘录保存的代码)///<summary>///随机生成汉字///</summary>///<paramname="strlength">长度(4位)</param>///<returns></returns>pub...
30
热度 -
[C#] 三、C#面向对象:封装、继承、多态、String、集合、文件(下)
3、C#面向对象:封装、继承、多态、String、集合、文件(下)面向对象多态一、装箱和拆箱装箱:将值类型转换为引用类型。objecto=1;值类型给引用类型赋值拆箱:将引用类型转换为值类型。intn=(int)o;强制转换为值类型满足条件:两种类型是否存在继承关系。intn=Convert.ToI...
350
热度 -
[C#] 二、C#面向对象:封装、继承、多态、String、集合、文件(上)
2、C#面向对象:封装、继承、多态、String、集合、文件(上)面向对象封装一、面向对象概念面向过程:面向的是完成一件事情的过程,强调的是完成这件事情的动作。面向对象:找个对象帮你完成这件事情。二、面向对象封装把方法进行封装,隐藏实现细节,外部直接调用。打包,便于管理,为了解决大型项目的维护与管理...
349
热度 -
[C#] C#对称加密算法实现及相干类说明
C#对称加密算法实现及相关类说明采用单钥密码系统的加密方法,同一个密钥可以同时用作信息的加密和解密,这种加密方法称为对称加密,也称为单密钥加密。需要对加密和解密使用相同密钥的加密算法。由于其速度快,对称性加密通常在消息发送方需要加密大量数据时使用。所谓对称,就是采用这种加密方法的双方使用方式用同样的...
48
热度 -
[C#] C#(WPF)中使用WinAPI函数开展截屏
C#(WPF)中使用WinAPI函数进行截屏在C#中,没有关于截屏的相关函数,这就需要使用Win32API函数在C#代码中完成截屏。一、基础知识介绍:gdi32.dll:系统文件gdi32.dll是存放在Windows系统文件夹中的重要文件,通常情况下是在安装操作系统过程中自动创建的,对于系统正常运...
21
热度 -
[C#] C#之Lambda只好说的用法
C#之Lambda不得不说的用法由于我才开始接触代码的时候遇到循环问题都是用foreach和for,慢慢就成了习惯,不愿意用其他简便的方式,偶然发现lambda能代替循环而且简便了很多。当然我用lambda也不是简便,更多是不用不行了,看公司项目很多地方这种用法导致我没有看懂源码,所以索性把关于la...
93
热度 -
[C#] 利用implicit关键字干自定义类型隐式转换
利用implicit关键字做自定义类型隐式转换在C#中,implicit关键字可以用来做自定义类型隐式转换。下面给个例子来说明。先定义一个Point类,表示一个点:publicclassPoint{publicdoubleX{get;set;}publicdoubleY{get;set;}}再在Po...
41
热度 -
[C#] 创造简单的Telnet实例
创建简单的Telnet实例step1.先加入库SuperSocket.Common.dll,SuperSocket.SocketBase.dll,SuperSocket.SocketEngine.dll,log4net.dll,System.Threading.dll。同时还需引入NET中的Syst...
73
热度 -
40
热度 -
[C#] Task.FromResult应用场景举例来说
Task.FromResult应用场景举例Task.FromResult用来创建一个带返回值的、已完成的Task。场景一:以同步的方式实现一个异步接口方法比如有一个接口包含异步方法。interfaceIMyInterface{ Task<int>DoSthAsync();}现在,需要以同...
718
热度 -
[C#] 序列化和反序列化简略使用
序列化和反序列化简单使用序列化、反序列化主要用于存储对象状态为另一种通用格式,比如存储为二进制、xml、json等等,把对象转换成这种格式就叫序列化,而反序列化通常是从这种格式转换回来。使用序列化主要是因为跨平台和对象存储的需求,因为网络上只允许字符串或者二进制格式,而文件需要使用二进制流格式,如果...
48
热度 -
[C#] 等候所有或任意异步任务完成,以及异步任务完成时的处理方案
等待所有或任意异步任务完成,以及异步任务完成时的处理方案本篇体验如何等待所有异步任务完成、等待任意一个异步任务完成,以及异步任务完成时的处理。等待一组任务的完成使用Task.WhenAll方法。Tasktask1=Task.Delay(TimeSpan.FromSeconds(1));Tasktas...
77
热度 -
[C#] 匹夫细说C#目无全牛聊委托,那些编译器藏的和U3D给的
匹夫细说C#:庖丁解牛聊委托,那些编译器藏的和U3D给的0x00前言由于工作繁忙所以距离上一篇博客已经过去一个多月的时间了,因此决心这个周末无论如何也得写点东西出来,既是总结也是分享。那么本文主要的内容集中在了委托的使用以及内部结构(当然还有事件了,但是受制于篇幅故分为两篇文章)以及结合一部分Uni...
81
热度 -
86
热度 -
[C#] C#定时检测子线程是不是已经完成
C#定时检测子线程是否已经完成C#定时检测子线程是否已经完成classProgram{staticvoidMain(string[]args){//主线程中启动一个支线程,执行doSomething这样的一个方法。Threadthread=newThread(newThreadStart(Threa...
56
热度 -
[C#] 编写高质量代码改进C#程序的157个建议——建议3: 区别对待强制转型与as和is
编写高质量代码改善C#程序的157个建议——建议3:区别对待强制转型与as和is建议3:区别对待强制转型与as和is在阐述本建议之前,首先需要明确什么是强制转型,以及强制转型意味着什么。从语法结构上来看,类似下面的代码就是强制转型。secondType=(SecondType)firstType;但...
48
热度 -
[C#] 编写高质量代码改进C#程序的157个建议——建议1:正确操作字符串
编写高质量代码改善C#程序的157个建议——建议1:正确操作字符串最近拜读了陆敏技老师的《编写高质量代码改善C#程序的157个建议》,感觉不错,决定把笔记整理一遍。建议1:正确操作字符串字符串应该是所有编程语言中使用最频繁的一种基础数据类型。如果使用不慎,我们就会为一次字符串的操作所带来的额外性能开...
70
热度 -
[C#] 编写高质量代码改进C#程序的157个建议——建议14: 正确实现浅拷贝和深拷贝
编写高质量代码改善C#程序的157个建议——建议14:正确实现浅拷贝和深拷贝建议14:正确实现浅拷贝和深拷贝为对象创建副本的技术称为拷贝(也叫克隆)。我们将拷贝分为浅拷贝和深拷贝。浅拷贝将对象中的所有字段复制到新的对象(副本)中。其中,值类型字段的值被复制到副本中后,在副本中的修改不会影响到源对象对...
52
热度 -
[C#] 编写高质量代码改进C#程序的157个建议——建议12: 重写Equals时也要重写GetHashCode
编写高质量代码改善C#程序的157个建议——建议12:重写Equals时也要重写GetHashCode建议12:重写Equals时也要重写GetHashCode除非考虑到自定义类型会被用作基于散列的集合的键值;否则,不建议重写Equals方法,因为这会带来一系列的问题。如果编译上一个建议中的Pers...
6
热度 -
[C#] 编写高质量代码改进C#程序的157个建议——建议10: 创建对象时需要考虑是否实现比较器
编写高质量代码改善C#程序的157个建议——建议10:创建对象时需要考虑是否实现比较器建议10:创建对象时需要考虑是否实现比较器有对象的地方就会存在比较,在.NET的世界中也一样。举个最简单的例子,在UI中,有一个10个人的Salary列表。根据排序的需要,列表要支持针对基本工资来罗列Salary。...
9
热度