- is用法
- 确定关系
- 模式匹配
- 继承确认
- yield创建一个枚举器的状态机
- out/in各种有两种用法,其中一种用于逆变和协变(数组,委托,泛型参数)
- 属性:readonly的话只能在构造函数里访问,
public int ssk =>3
相当于readonly,这里是属性初始化public int ssk2 { get; } = 3;
,要么在构造函数中设置,要么属性初始化 - 字段最佳实践
- 总是私有的
- 一个字段都是只读了,干嘛不做成静态的
- 使用属性访问字段比较好
- 要带一个下划线前缀
- 在结构中做成公共字段是可以接受的
- 构造函数
public Car2(string description) : this(description, 4)
初始化器,默认构造函数才能定义约束吗 - 一个类除了字段、常量、事件全是函数
- 枚举有了逻辑或可以为一个变量指定多个值
public extern void Ee();
用于声明在外部实现的方法- 修饰符新增private protected和protected internal
- 类在外面默认是internal修饰符,在内是private
- 泛型约束有:struct,IFoo,Foo,new(),T2,class,System.Enum,System.Delegate
- 泛型:泛型类,泛型索引器,泛型结构,泛型方法,泛型模式匹配
- 字符串
a.PadLeft(3, '2');
- 索引器的参数还支持DateTime
- 数组有一个rank属性
- 委托儿子
- 多播委托
- 闭包
- 闭包是指有权访问另一个函数作用域中的变量的函数。
- 多线程闭包的冲突
- 会创造个闭包对象保持引用,同时注意和本地函数比较
- 事件
- 格式化占位符
:e :x :c
- 队列有个TrimExcess去除空元素
- 特殊的集合掠过
- IEnumerable相关子接口顺序是IECL
- 非托管资源
- 数据库
- 网络连接
- 文件句柄
- 堆(本机、托管):类对象实例和对象在堆里,变量在栈上,仅仅是指针地址
- 栈:值类型、方法参数副本
- VS还有命令行
- dotNetTry可交互文档
- Join一个是字符串的(会自动TrimEnd),一个是Linq
- File.SetAttributes设置文件属性
《C#高级编程》零碎总结
最新推荐文章于 2022-06-16 14:39:38 发布