摘要:
序言 字符串不可变性,字符串的‘暂存池’两个特性 字符串是引用类型,程序中会存在大量的字符串对象,如果每次都创建一个字符串对象,会比较浪费内存、性能低,因此CLR做了“暂存池”(拘留池,缓冲池,暂存池),在一些情况下对于字符串对象进行了重用。 面试题:上面的代码有几个字符串对象。答案:三个字符串对象 阅读全文
摘要:
序言 值类型的比较 int i = 9; int j = 9; Console.WriteLine("Equals和= =(等于号)的比较"); Console.WriteLine("i.Equals(j) :" + i.Equals(j)); Console.WriteLine("i==j " + 阅读全文
摘要:
序言 静态导入异常筛选器自动属性初始化表达式Expression bodied 成员Null 传播器字符串内插nameof 运算符索引初始值设定项其他新功能包括:Catch/Finally 块中的 Await仅限 getter 属性的默认值 资料 阅读全文
摘要:
序言 Out 变量元组和析构函数模式匹配本地函数已扩展 expression bodied 成员Ref 局部变量和返回结果其他功能包括:弃元二进制文本和数字分隔符引发表达式 资料 阅读全文
摘要:
1 阅读全文
摘要:
序言 动态绑定-dynamic class Program { static void Main(string[] args) { dynamic dyn = 1; object obj = 1; // Rest the mouse pointer over dyn and obj to see t 阅读全文
摘要:
序言 异步成员 但是 async 和 await 才是此版本真正的主角。 C# 在 2012 年推出这些功能时,将异步引入语言作为最重要的组成部分,另现状大为改观。 如果你以前处理过冗长的运行操作以及实现回调的 Web,应该会爱上这项语言功能。 Console.WriteLine("主线程开始"); 阅读全文
摘要:
序言 泛型 为什么需要泛型? 分部类型 分部类和方法 partial 匿名方法 使用Delegate的时候很多时候没必要使用一个普通的方法,因为这个方法只有这个Delegate会用,并且只用一次,这时候使用匿名方法最合适。 delegate 运算符创建一个可以转换为委托类型的匿名方法: 从 C# 3 阅读全文
摘要:
序言 自动实现的属性 匿名类型 查询表达式 Lambda 表达式 从 C# 3 开始,lambda 表达式提供了一种更简洁和富有表现力的方式来创建匿名函数。 使用 => 运算符构造 lambda 表达式: static List<int> GetSquaresOfPositiveByLambda(L 阅读全文
摘要:
序言 C# 1可以看做2001年Java语言的升级版。 主要功能 类 结构 接口 事件 属性 委托 表达式 语句 特性 值类型和引用类型 装箱和拆箱 资料 阅读全文