تغییر 1 : Auto Property Initializer
در این نسخه از سی شارپ میتوان زمان تعریف یک Property برای آن یک مقدار اولیه تخصیص داد. در نسخههای قبلی این کار را در سازنده کلاس میشد انجام داد.
کد نسخههای قبلی :
[csharp] public class Employee
{
public Guid EmpId {get;set;}
public Employee()
{
EmpId = Guid.NewGuid();
}
} [/csharp]
کد C# 6.0 :
[csharp] public class Employee
{
public Guid EmpId {get;set;} = Guid.NewGuid();
public string FullName {get;} = "Ahmad Ghaffari";
} [/csharp]
تغییر 2 : Expression-bodied Members
چنانچه شما یک متد یا یک Property داشته باشید که فقط دارای یک خط دستور باشد میتوانید به جای علائم {} از => استفاده کنید.
کد نسخههای قبلی (نمونه متد) :
[csharp] public void ShowName()
{
Console.WriteLine(person.FirstName);
} [/csharp]
کد نسخههای قبلی (Property) :
[csharp] public string FullName {get { return person.FirstName + " " + person.LastName;}} [/csharp]