C# 6.0 có gì mới

C# 6.0 – Visual Studio 2015 và .NET 4.6  – có nhiều thay đổi giúp cho việc code trở nên nhanh chóng và ngày càng gõ bàn phím ít hơn. Mặc dù hơi nặng so với Notepad++ hay Sublime Text nhưng rất đáng để trải nghiệm 😀

Để trải nghiệm được C# 6.0 thì bạn cần phải có Visual Studio 2015 Preview

– Khởi tạo giá trị mặc định cho property trực tiếp, bậy giờ bạn có thể viết như thế này

public int bienInt { get; set; } = 15;
public int bienIntGet { get; }=99;

– Bắt Exception linh hoạt. Vụ này hay lắm, thí dụ như bạn phải thao tác với một cái Provider nào đó đặc biệt bắt buộc trên máy end-user phải được cài đặt sẵn nếu không thì sẽ văng Exception, thay vì phải viết hàm kiểm tra coi có tồn tại provider đó chưa thì chỉ cần ex.Message.Contains() là có thể thông báo có thể chưa có provider được rồi.

try
{
throw new Exception(“You”);
}
catch (Exception ex) if (ex.Message == “You”)
{
// this one will not execute.

Console.WriteLine(“I lóp Du!!!”);
}
catch (Exception ex) if (ex.Message == “Me”)
{
// this one will execute

Console.WriteLine(“Me là tui!!!”);
}

– Vết nội dung xử lý của một hàm ngay trên cùng một dòng khai báo

public static void In() => Console.WriteLine(“Noi dung cua ham”);

– Sử dụng các lớp tĩnh với using

using System.Console;

…và sau đó chỉ cần

WriteLine(“Khong can phai dung Console nua!”);

– Xử lý điều kiện null khi gán toán tử tốt hơn (null-conditional operators), trước nay nếu gán mà quên kiểm tra null thì toàn gặp lỗi thế này

Lỗi rất là sơ đẳng nhưng cũng rất là hay gặp vì quên kiểm tra, giờ cứ viết thế này là chuẩn

string thunghiem = null;
int? dodai;
dodai = thunghiem?.Length;

– Không xài string.Format nữa, xài kiểu mới đẩy thẳng biến vào ngay chỗ muốn in ra luôn, dễ nhìn, dễ quản lý sau này

WriteLine(string.Format(“kieu cu: {0}”, _program.bienInt));
WriteLine(“kieu moi: \{_program.bienInt, 20}”);

– Dictionary nay dễ dùng hơn, khỏi cần phải Add(key, value) nữa

var numbers = new Dictionary<int, string>
{
[7] = “bay”,
[10] = “muoi”
};

– Await in catch and finally blocks

– Parameterless constructors in structs

– Extension Add methods in collection initializers

– Improved overload resolution

One thought on “C# 6.0 có gì mới

Trả lời

Mời bạn điền thông tin vào ô dưới đây hoặc kích vào một biểu tượng để đăng nhập:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Đăng xuất /  Thay đổi )

Google photo

Bạn đang bình luận bằng tài khoản Google Đăng xuất /  Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Đăng xuất /  Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Đăng xuất /  Thay đổi )

Connecting to %s