C#条件编译、内联函数、CLS介绍
1、条件编译#if 条件编译会隐藏非条件(#else if)代码,我们开发中很可能会忽略掉这部分代码,当我们切换条件常量到这部分代码时,很可能因为各种原因导致报错。如果使用特性进行...
1、条件编译#if 条件编译会隐藏非条件(#else if)代码,我们开发中很可能会忽略掉这部分代码,当我们切换条件常量到这部分代码时,很可能因为各种原因导致报错。如果使用特性进行...
目录效果展示:起始页代码考试页面代码有图标的应用程序效果展示:1. 进入页面:2. 答题界面:3. 时间截止界面:4. 提交界面:起始页代码public partial class Start : Form {...
目录一. 编写.cs文件二. 生成XML文件注释三. 打开MSBuild Command Prompt for VS2015生成dll文件四. 使用另一个项目引用.dll文件五. 运行成功:一. 编写.cs文件注:要想编译dll...
如果需要基于键对所需集合排序,就可以使用SortedList<TKey,TValue>类。这个类按照键给元素排序。这个集合中的值和键都可以使用任何类型。定义为键的自定义类型需要实现IComp...
字典表示一种复杂的数据结构,这种数据结构允许按照某个键来访问元素。字典也称为映射或散列表。
字典的主要特性是能根据键快速查找值。也可以自由添加和删除元素,这有点像Lis...
LINQ(Language Integrated Query,语言集成查询),在C#语言中集成了查询语法,可以用相同的语法访问不同的数据源。
LINQ提供了不同数据源的抽象层,所以可以使用相同的语法。
这里...
.NET 4.5 中包含取消架构,允许以标准方式取消长时间运行的任务。每个阻塞调用都应支持这种机制。但目前,并不是所有阻塞调用都实现了这个新技术。已经实现了这种机制的技术有...
C#实现委托namespace Delegate{ delegate void DGSayiHi(string name);//声明委托 delegate void DGDo(string name); class Program { static void Mai...
目录一.简单数组(一维数组)1.数组的声明2.数组的初始化3.访问数组元素4.数组中使用引用类型二.多维数组三.锯齿数组四.Array类1.创建数组2.复制数组3.排序五.数组作为参数1.数...
队列是其元素按照先进先出(FIFO)的方式来处理的集合。
队列使用System.Collections.Generic名称空间中的泛型类Queue<T>实现。在内部,Queue<T>类使用T类型的数组,这类似List<T>(h...
如果对象可以改变其状态,就很难在多个同时运行的任务中使用。这些集合必须同步。如果对象不能改变器状态,就很容易在多个线程中使用。
Microsoft提供了一个新的集合库:Microsof...
如果需要处理的数字有许多位,就可以使用BitArray类和BitVector32结构。BitArray类位于System.Collection,BitVector32结构位于System.Collection.Specialized。
这两种类型最...
C#实现的Check Password,并根据输错密码的次数分情况锁定账户:如果输入错误3次,登录账户锁定5分钟并提示X点X分后重试登录。如果5分钟后再次输入,累计输入错误密码累计达到5次。...
async Task 语法糖出来后,异步编程变得非常简单,适合需要耗费较长时间的任务。有些小伙伴使用后可能会非常疑惑,使用异步和同步,在耗时上几乎没有差别。下面我们看一个例子,场景...
目录一、ShaderLab1.Alpha值边缘检测2.卷积边缘检测二、ShaderGraph一、ShaderLab1.Alpha值边缘检测根据图片的Alpha值边缘判定,向内扩一段距离做边缘,颜色设置未描边颜色;片元...
1、先使用tiledmap编辑地图,图层用来刷图块,对象用来定义单个格子的数据2、为每个图块调属性 3、图块需要单独配置属性的就必须创建对象,并设置值右键设置属性 4、导出json文件...
包含不重复元素的集合称为“集(set)”。.NET Framework包含两个集HashSet<T>和SortedSet<T>,它们都实现ISet<T>接口。HashSet<T>集包含不重复元素的无序列表,SortedSe...
.NET 4 开始,在System.Collection.Concurrent中提供了几个线程安全的集合类。线程安全的集合可防止多个线程以相互冲突的方式访问集合。
为了对集合进行线程安全的访问,定义了...
一.并行LINQSystem.Linq名称空间中包含的类ParallelEnumerable可以分解查询的工作,使其分布在多个线程上。
尽管Enumerable类给IEnumerable<T>接口定义了扩展方法,但ParallelE...
LinkedList<T>是一个双向链表,其元素会指向它前面和后面的元素。这样,通过移动到下一个元素可以正向遍历链表,通过移动到前一个元素可以反向遍历链表。
链表在存储元素时,不仅要...
目录一、简介二、创建线程三、暂停线程四、线程等待五、终止线程六、检测线程状态七、线程优先级八、前台线程和后台线程九、向线程传递参数十、使用C# Lock 关键字十一、使...
目录1.首先创建DBhelp类用来连接数据库2.创建主页面:3.添加联系人页面4.修改页面5.查询页面本文主要介绍了C#窗体通讯录系统的示例代码,分享给大家,具体如下:1.首先创建DBhelp类...
压缩文件:public object CompressZipFile(string sourceFile, string destinationFile) { object resObj; Process process = new Process();...
1.选择排序(冒泡排序)升序用第一个元素跟其他元素比较,如果该元素比其他元素,则交换,保证该元素是最小的。然后再用第二个元素跟后面其他的比较,保证第二个元素是除第一个最小的。...
最近做了一个项目,使用不干胶标签贴在RFID抗金属标签上,那么就会出现标签打印的问题,该如何打印呢?后来经过网上冲浪发现,其实打印标签和打印A4纸的方法一样,只不过就是布局、设置...
简介:c#中Abstract和Virtual比较容易混淆,都与继承有关,并且涉及override的使用。virtual可以被子类重写,而abstract必须被子类重写。virtual修饰的方法必须有实现(哪怕是仅仅添...
简介IEnumerable接口是非常的简单,只包含一个抽象的方法GetEnumerator(),它返回一个可用于循环访问集合的IEnumerator对象。对于所有数组的遍历,都来自IEnumerable接口。
IEnum...
一、简介当我们没有在子类构造函数中写上 base(),默认会先调用父类中无参的构造函数,再调用子类。
当在有参构造函数后写上base时,只调用子类构造函数中有参的构造函数,隐藏父类...
代码案例一:private void button1_Click(object sender, EventArgs e) { string myMaillAdress = ""; string myMaillPassword = "";...
目录1. 什么是科学方法??1.观察2.将问题规模和运行时间的关系量化2.数学模型近似近似运行时间成本模型总结3. 增长数量级的分类4. 倍率实验5.注意事项6. 处理对于输入的依赖7....
目录1、手写创建对象2、反射3、Json字符串序列化4、对象二进制序列化5、AutoMapper6、表达式树之前学习了设计模式原型模式,在原型模式中就提到了对象的深拷贝。深拷贝指的是...
简介:In:过程不会改写In的内容 ,默认的传递方式,即向函数内部传送值。
Out和out:传入的值不会被过程所读取,Out在传入的时候,参数的数值会清空,但过程可以写 。只出不进
ref:可以...
目录算法的主题思想:1. 动态连通性2. 定义问题3. quick-find算法实现算法分析4. quick-union算法实现森林表示算法分析5.加权 quick-union 算法实现算法分析6.最优算法 - 路...
高效检索海量信息(经典查找算法)是现代信息世界的基础设施。我们使用符号表描述一张抽象的表格,将信息(值)存储在其中,然后按照指定的键来搜索并获取这些信息。键和值的具体意义取...
1.不同的数据库private InfoLightDBTools dbTools; //#ORACLE#this.dbTools = new InfoLightDBTools(clientInfo, dbName);private InfoLightDBTXTools dbTXTools; /...
一、简介:Parallel类提供了数据和任务的并行性;
Paraller.For()方法类似于C#的for循环语句,也是多次执行一个任务。使用Paraller.For()方法,可以并行运行迭代,迭代的顺序没有定义...
一、简介override意思是重写。它是在子类中重写父类中的方法,两个函数的函数特征(函数名、参数类型与个数)相同,用于拓展或修改继承的方法、属性、索引器或事件的抽象或虚拟实现...
目录一、使用线程的理由二、基本知识三、线程的使用四、线程池五、Task类六、委托异步执行一、使用线程的理由1、可以使用线程将代码同其他代码隔离,提高应用程序的可靠性。...
1.ACSII码加密//ACSII码加密 private static string ACSIIPWd(string rpwd) { string Ret; byte[] array = System.Text.Encoding.ASC...
快速排序是应用最广泛的排序算法,流行的原因是它实现简单,适用于各种不同情况的输入数据且在一般情况下比其他排序都快得多。快速排序是原地排序(只需要一个很小的辅助栈),将长度...
目录引言一、编译Lua动态链接库1. 编译Windows下使用的DLL文件2. 编译Android下使用的SO文件二、编写C#使用的API1. 动态链接库在Unity中的存放位置。2. 编写C#的API[LuaDll...
一、简介前面介绍了平时用到的大多数的多线程的例子,但在实际开发中使用的线程往往是大量的和更为复杂的,这时,每次都创建线程、启动线程。从性能上来讲,这样做并不理想(因为每使...
一、简介1.什么是GUID?全局唯一标识符(GUID,Globally Unique Identifier),GUID也称作 UUID(Universally Unique IDentifier) 。GUID是一种由算法生成的二进制长度为128位的数字标...
一、简介Abort()方法用来终止线程,调用此方法强制停止正在执行的线程,它会抛出一个ThreadAbortException异常从而导致目标线程的终止。二、代码 class Program {...
目录绑定多个按钮到同一个事件1.添加代码2.选择你要添加代码的控件 多个控件有同一个事件,优化先自己声明方法,再用事件调用绑定多个按钮到同一个事件1.添加代码private voi...