《C#高级编程》零碎总结

  • 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设置文件属性
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值