国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開(kāi)發(fā)設(shè)計(jì) > 正文

C#遐想/瞎想

2019-11-14 13:30:03
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
  1. 泛型約束更強(qiáng)大。比如支持有參構(gòu)造函數(shù)、枚舉、委托:
    void Foo<T>() where T : new(string, int), enum, delegate
  2. 空值判斷符允許對(duì)屬性/字段賦值:
    obj?.Name = "sdf"; //obj為null則什么也不做
  3. 索引器支持泛型:
    public T this<T>[int i]{    get { return (T)arr[i]; }     set { arr[i] = value; }}
  4. 支持將var作為參數(shù)類型,代表匿名類型,這樣方法就可以返回匿名類型,完了同樣用var接住返回值,并可以智能提示返回對(duì)象的屬性,這就要求方法中每個(gè)return的匿名類型要一致。目前可以用dynamic代替,但就沒(méi)了智能提示:
    public static var Create<T1, T2>(T1 arg1, T2 arg2){    return new { Item1 = arg1, Item2 = arg2 };}
  5. 支持內(nèi)聯(lián)out。這點(diǎn)其實(shí)在c#6.0差一點(diǎn)實(shí)現(xiàn),但最終沒(méi)如愿,我猜原因是在變量作用域上不好處理:
    if (int.TryParse("3", out int i)) //結(jié)合類型推斷,甚至連int都允許省略{    Use(i);}
  6. 支持靜態(tài)索引器:
    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. 支持編譯為本機(jī)exe/dll,準(zhǔn)確說(shuō)這個(gè)是對(duì)編譯器的遐想。我倒不是為了性能,而是一為不要運(yùn)行庫(kù),二為別讓我們的源碼赤裸裸的暴露在.net reflactor之流中。是有個(gè).net native,但僅限商店應(yīng)用,而且似乎太監(jiān)了。

暫時(shí)就扯這些,有新想法再補(bǔ)上。


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 太湖县| 新龙县| 板桥市| 张家界市| 平远县| 青阳县| 都兰县| 通州区| 济源市| 吴川市| 阜城县| 乌审旗| 雷波县| 子洲县| 石景山区| 荆门市| 衡阳县| 马关县| 綦江县| 偃师市| 瑞安市| 宁化县| 阿城市| 永仁县| 温州市| 西昌市| 宕昌县| 略阳县| 西平县| 沂源县| 晴隆县| 海淀区| 芷江| 汝城县| 昭平县| 上犹县| 五大连池市| 浦县| 怀安县| 马鞍山市| 佛坪县|