C#
codingriver
这个作者很懒,什么都没留下…
展开
-
C# 闭包Closure
考虑了下,还是记录下吧 ,要不然以后又忘了参考文章:C#与闭包public class TCloser{public Func<int> T1() { var n = 999; Func<int> result = () => { return n; }; ...转载 2018-10-11 23:50:29 · 264 阅读 · 0 评论 -
C# 字符串比较效率测试
这里用String比较的静态方法public static int Compare(String strA, String strB, StringComparison comparisonType);来测试不同的StringComparison的效率直接上代码:using System;using System.Collections.Generic;using System.Linq;...原创 2018-11-02 17:33:40 · 3206 阅读 · 0 评论 -
C#的new关键字的几种用法
一共有三种用法:在 C# 中,new 关键字可用作运算符、修饰符或约束。1)new 运算符:用于创建对象和调用构造函数。这种大家都比较熟悉,没什么好说的了。2)new 修饰符:在用作修饰符时,new 关键字可以显式隐藏从基类继承的成员。3)new 约束:用于在泛型声明中约束可能用作类型参数的参数的类型。直接上代码:using System;using System.Collectio...原创 2018-11-02 17:06:45 · 11315 阅读 · 0 评论 -
客户端开发C#命名规范手册
命名规范使用驼峰法命名类名使用首字母大写的驼峰法命名,例如:PlayerObject方法名使用首写字母大写命名方式,例如:Init()成员变量、局部变量都统一使用首字母小写的命名方式,例如:localValue;属性首字母大写,字段统一小写;(属性是指带get,set访问器的)常量和enum的命名都使用大写+下划线的方式,例如:MAX_PLAYER_NUMBER抽象类名使用Abstr...原创 2018-11-09 12:44:24 · 424 阅读 · 0 评论 -
C# async与await的使用说明
C# 异步编程提供了两个关键字,async 和await,这里说明下怎么用C# 5 引入了一种简便方法,即异步编程。此方法利用了 .NET Framework 4.5 及更高版本、.NET Core 和 Windows 运行时中的异步支持。 编译器可执行开发人员曾进行的高难度工作,且应用程序保留了一个类似于同步代码的逻辑结构。 因此,你只需做一小部分工作就可以获得异步编程的所有好处。本主题...原创 2018-10-24 12:47:03 · 18416 阅读 · 3 评论 -
C# 特性详解(Attribute)
今天整理关于特性的资料,之前都忘了,今天整理一下参考《C#高级编程》第10版 0X01 特性(Attribute)特性定义特性不会影响编译过程,因为编译器不能识别它们,但这些特性在应用于程序元素时,可以在编译好的程序集中用作元数据上面这句话是书上说的,但不太认可,如果通过反射来使用特性呢这里假设某个类上使用了特性如下: [Test] class BBB { ...原创 2018-10-26 22:48:32 · 5521 阅读 · 0 评论 -
在C#中??和值类型加?分别是什么意思?
1. 可空的值类型(T?)可空引用引用类型可以使用空引用表示一个不存在的值,而值类型通常不能表示为空。例如:string str=null; 是正确的,int i=null; 编译器就会报错。为了使值类型也可为空,就可以使用可空类型,即用可空类型修饰符"?“来表示,表现形式为"T?”例如:int? 表示可空的整形,DateTime? 表示可为空的时间。T? 其实是System.Null...原创 2018-10-25 21:16:27 · 1216 阅读 · 0 评论 -
C# 6 字符串插值(使用前缀$)
C# 6 引入了字符串前缀$的字符串插值。string s = “hello”;string y = $"{s} world";等同于使用Format方法:string y = string.Format("{0} world",s);并且我们可以调用值的方法,如:string y = $"{s.ToLower()} world";使用新的字符串格式代码可读性要好一些如: ...原创 2018-10-25 13:56:27 · 2316 阅读 · 1 评论 -
C# SynchronizationContext线程上下文简单说明
SynchronizationContext线程上下文说明SynchronizationContext在通讯中充当传输者的角色,实现功能就是一个线程和另外一个线程的通讯 那么SynchronizationContext的Send()和Post() Send() 是简单的在当前线程上去调用委托来实现(同步调用)。也就是在子线程上直接调用UI线程执行,等UI线程执行完成后子线程才继续执行。...原创 2018-10-25 13:11:22 · 16538 阅读 · 6 评论 -
C# Enum,Int,String的互相转换
C# Enum,Int,String的互相转换Enum为枚举提供基类,其基础类型可以是除 Char 外的任何整型。如果没有显式声明基础类型,则使用 Int32。编程语言通常提供语法来声明由一组已命名的常数和它们的值组成的枚举。注意:枚举类型的基类型是除 Char 外的任何整型,所以枚举类型的值是整型值。Enum 提供一些实用的静态方法:(1)比较枚举类的实例的方法(2)将实例的值转换为其...转载 2018-12-10 12:06:31 · 145 阅读 · 0 评论