C 語法新特性

2022-01-12 21:58:47 字數 2455 閱讀 6391

下面介紹下c#的新語法,這些新語法使程式設計更方便快捷(往往一行**能起到老語法幾行功能),同時也更健壯減少異常發生,方便閱讀。個人認為很有必要掌握下。

新建乙個product類 和shoppingcart

public class product

public string category = "waterports";

public decimal? price

public product related

public bool instock = true;

public bool namebeginswiths => name?[0] == 's';

public static product getproduct()

; product lifejacket = new product

;kayak.related = lifejacket;

return new product ;

} }public class shoppingcart:ienumerable

public ienumeratorgetenumerator()

ienumerator ienumerable.getenumerator()

}

public homecontroller

,price,related:"));

}return view(results);

}}

decimal? price = p?.price ?? 0;
public string category  = "waterports";
public bool instock  = true;
$"name:,price,related:"
//物件初始化  

product kayak = new product

; //陣列類初始化

string names = new string ;

//字典初始化

dictionaryproducts = new dictionary,

["lifejacket"]=new product

};

public viewresult total()

}return view($"total:");

}

public static class shoppingcartextension

return total;

}}

public static class shoppingcartextension

return total;

}}

public static class shoppingcartextension}}

}

呼叫更靈活

//根據name過濾

ienumerableproductsbyname =product.getproduct().filter(p => p?.name?[0] == 's');

//或者根據**過濾

ienumerableproductsbyprice =product.getproduct().filter(p => (p?.price ?? 0) > 30);

//初始化屬性

public bool namebeginswiths => name?[0] == 's';

//初始化函式

public viewresult productsname() => view(product.getproduct().select(p => p?.name));

public async static taskgetpagelength2()

在呼叫該方法

public async taskgetpagelength()

");}

public viewresult products()

,new ,

new ,

new ,

};//return view(products.select(p => $"name:,"));

//同上 避免更改了屬性名忘記更改 hard code`name`和`price`

return view(products.select(p => $":,:"));

}

C 語法新特性之元組例項詳解

1.元組 tuple 元組 tuple 在4.0 的時候就有了,但元組也有些缺點,如 1 tuple 會影響 的可讀性,因為它的屬性名都是 item1,item2.2 tuple 還不夠輕量級,因為它是引用型別 class 對於乙個變數要使用乙個型別,有點太沒必要了。源 如下 摘要 提供用於創造元組...

c 2 0語法新特定

再是因為需要才促使語言的公升級,而不是因為公升級促使需要 請看下面示例 public partial class sampleclass public partial class sampleclass 這裡定義了乙個類sampleclass,它包含methoda和methodb兩個方法,和我們常見...

ABAP語法新特徵

data語句 變數定義 data l str type string.現在可能是這樣的 data l str china 行內定義 select but000 partner,but000 name org1,but000 bu group,lfa1 nodel from but000 inner ...