Günlük Arşiv: Ağustos 16, 2016

C# 6.0 Yenilikleri – Null-conditional operators

Null-conditional operators :  Herhangi bir class veya propertyleri null ise bunlara erişmek için null kontrolü yapmadan çok daha basit yolla değerleri çekebiliriz. int? first = (customers != null) ? customers[0].Orders.Count() : null; Yukarıdaki kodun yerine...

C# 6.0 Yenilikleri – Exception filters

Exception filters : Yakalanan hatalara filitre konabilmektedir. Böylece belirtilen catch bloğunda sadece tanımlanan exception filtresine uygun exceptionlar yakalanır. Eğer hiçbir filitreye uymayan exception var ise stacktrace kaybolmadan işleme devam edilir. Aşağıdaki örnekte de görüldüğü gibi number değeri 50’den küçük...

C# 6.0 Yenilikleri – Declaration expressions

Declaration expressions : Expressionlar içerisinde artık tanımlama yapılabilmektedir. Ençok kullanıldığı yerler out parametreleridir. int.TryParse(number, out var x); public class Customer { public char[] Strings { get { return "a12b3d".ToCharArray(); } } public List<int> GetResult() { var...

C# 6.0 Yenilikleri – Extension methods

Extension methods : Extension methodlar projeye using ile eklenebilmektedir. using System.Linq.Enumerable; class Program { static void Main(string[] args) { var range = Range(5, 17); var odd = Where(range, i => i % 2 == 1);...

C# 6.0 Yenilikleri – Using static

Using static : Static class’lar using olarak projeye eklenebilmektedir. using System.Console; using System.Math; class Program { static void Main() { WriteLine(Sqrt(3*3 + 4*4)); } }  

C# 6.0 Yenilikleri – Parameters on classes and structs

Parameters on classes and structs : Classlar oluşturulurken constructer olmadan parametre alması sağlanmıştır. public class RealCustomer(string firstName, string lastName) { public string FirstName { get; } = firstName; public string LastName { get; } = lastName;...

C# 6.0 Yenilikleri – Auto-property enhancements

Auto-property enhancements : Propertyler’e değer atanmaması durumunda default değer atanabilmektedir.   public class Customer { public string FirstName { get; set; } = "Yakup"; public string LastName { get; set; } = "KALEBAŞI"; } Customer...