星空网 > 软件开发 > ASP.net

C#遐想/瞎想

  1. 泛型约束更强大。比如支持有参构造函数、枚举、委托:
    void Foo<T>() where T : new(string, int), enum, delegate

  2. 空值判断符允许对属性/字段赋值:
    obj?.Name = "sdf"; //obj为null则什么也不做

  3. 索引器支持泛型:
    public T this<T>[int i]{  get { return (T)arr[i]; }   set { arr[i] = value; }}

  4. 支持将var作为参数类型,代表匿名类型,这样方法就可以返回匿名类型,完了同样用var接住返回值,并可以智能提示返回对象的属性,这就要求方法中每个return的匿名类型要一致。目前可以用dynamic代替,但就没了智能提示:
    public static var Create<T1, T2>(T1 arg1, T2 arg2){  return new { Item1 = arg1, Item2 = arg2 };}

  5. 支持内联out。这点其实在c#6.0差一点实现,但最终没如愿,我猜原因是在变量作用域上不好处理:
    if (int.TryParse("3", out int i)) //结合类型推断,甚至连int都允许省略{  Use(i);}

  6. 支持静态索引器:
    public static class Package{  static readonly Dictionary<string, int> _dic;  static Package()  {    _dic = new Dictionary<string, int>(3);    _dic.Add("a", 0);    _dic.Add("b", 1);    _dic.Add("c", 2);  }  public static int this[string name]  {    get { return _dic[name]; }    set { _dic[name] = value; }  }}// use exampleUse(Package["b"]);

  7. 支持编译为本机exe/dll,准确说这个是对编译器的遐想。我倒不是为了性能,而是一为不要运行库,二为别让我们的源码**裸的暴露在.net reflactor之流中。是有个.net native,但仅限商店应用,而且似乎太监了。

暂时就扯这些,有新想法再补上。




原标题:C#遐想/瞎想

关键词:C#

C#
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

Kameleo浏览器:https://www.goluckyvip.com/tag/21823.html
Kangu:https://www.goluckyvip.com/tag/21824.html
Kanui:https://www.goluckyvip.com/tag/21825.html
Kapruka:https://www.goluckyvip.com/tag/21826.html
Kapwing:https://www.goluckyvip.com/tag/21827.html
kara bike:https://www.goluckyvip.com/tag/21828.html
独家对话爆剧操盘手刘羽砚:短剧凭什么让2亿人花钱观看? :https://www.kjdsnews.com/a/1836539.html
大牌退烧 白牌雄起? :https://www.kjdsnews.com/a/1836540.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流