C#6 새로운 기능
3536 단어 ASP.NET
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
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 Null 전파
v?.A
v?["B"]
v?.Tostring () 대상이 null일 때 속성, 인덱스, 방법 등을 호출하지 않고 표현식이 null로 되돌아옵니다. 이것은 Swift의 사용법과 비슷합니다.