C#6新特性
3511 ワード
1.自動属性強化
public bool ITuest { get; set; } = true;
public string FirstName { get; } = "aehyok";
2.ラム式を関数体とする
public int Move(int x, int y) => x + y;
3.静的クラスusing staticを参照
public double ReturnNum() => Acos(3);
4.Null値判定null
int? length = customers?.Count; int first = (int)customers?[0];
5.文字列埋め込み値
public string MakeStr() { string firstName = "ligen"; string lastName = "wanli"; return string.Format("one is/{firstName},two is/{lastName}"); }
6.nameof式nameof expressions
public bool ITuest { get; set; } = true;
public string FirstName { get; } = "aehyok";
2.ラム式を関数体とする
public int Move(int x, int y) => x + y;
3.静的クラスusing staticを参照
public double ReturnNum() => Acos(3);
4.Null値判定null
int? length = customers?.Count; int first = (int)customers?[0];
5.文字列埋め込み値
public string MakeStr() { string firstName = "ligen"; string lastName = "wanli"; return string.Format("one is/{firstName},two is/{lastName}"); }
6.nameof式nameof expressions
public
static
void
AddCustomer(Customer customer)
{
if
(customer ==
null
)
{
throw
new
ArgumentNullException(
nameof(customer)
);
}
}
7. Index initializers
var numer = new Dictionary {[4] = "s33" };
8 try
{
res = await Resource.OpenAsync(…);
// You could do this. …
}
catch
(ResourceException e)
{
await Resource.LogAsync(res, e);
// Now you can do this …
}
finally
{
if
(res !=
null
)
await res.CloseAsync();
// … and this.
}
9、catchとfinallyのawait——Await in catch and finally blocks
C#5.0ではawaitキーワードはcatchおよびfinnalyブロックには されません.6.0では try
{
res = await Resource.OpenAsync(…); // You could do this. …
}
catch (ResourceException e)
{
await Resource.LogAsync(res, e); // Now you can do this …
} finally
{
if (res != null)
await res.CloseAsync(); // … and this.
}
10 Parameterless struct ctorsパラメータなし
public FractionStruct( int a, int b) { A = a; B = b; }
public FractionStruct() : this(0, 1) { }
は、カスタムのパラメータなしコンストラクション を します.
new FractionStruct()
default(FractionStruct)
newはパラメータなしコンストラクション を び す.
defaultは、パラメータなしコンストラクション を び さない.11.Null propagation
v?.A
v?["B"]
v?.ToString()オブジェクトがnullの はプロパティ、インデックス、メソッドなどを び さず、 はnullを します.Swiftの い と ています.