Xem Eric Lippert's response to a similar question. Trong kịch bản cụ thể này, cả hai đều tạo ra cùng một mã được biên dịch và cùng một kết quả. Sự khác biệt duy nhất giữa hai cú pháp là cú pháp thứ hai chỉ có thể được sử dụng trong khai báo biến, có nghĩa là bạn không thể sử dụng nó để thay đổi giá trị của một biến hiện tại. Ví dụ:
// Compiles fine
string[] Meats = {"Roast beef", "Salami", "Turkey", "Ham", "Pastrami" };
// Causes compilation error
Meats = {"Roast beef", "Salami", "Turkey", "Ham", "Pastrami" };
// Also causes compilation error
string[] Meats2;
Meats2 = {"Roast beef", "Salami", "Turkey", "Ham", "Pastrami" };
Cá nhân, tôi sẽ đề nghị sử dụng cú pháp thứ hai cho khai báo biến, nếu bạn đang tuyên bố một cách rõ ràng các loại biến của bạn, như vậy:
string[] Meats = {"Roast beef", "Salami", "Turkey", "Ham", "Pastrami" };
Tôi muốn giới thiệu cú pháp đầu tiên nếu bạn có xu hướng sử dụng từ khóa var
, vì nó làm cho nó rõ ràng hơn loại bạn mong đợi kết quả là (khả năng đọc) và buộc trình biên dịch kiểm tra bạn, như vậy:
var Meats = new string[]{"Roast beef", "Salami", "Turkey", "Ham", "Pastrami" };
Nói chung, tốt nhất là chọn một kiểu và nhất quán.
[Trình khởi tạo mảng] (http://msdn.microsoft.com/en-us/library/aa664573 (v = vs.71) .aspx) (cũ, nhưng ngôn ngữ chưa thực sự thay đổi ở đây) –
Thậm chí 'var Meats = {" Thịt bò nướng "," Salami "," Turkey "," Ham "," Pastrami "};' cũng giống nhau. –
@ SonerGönül: yea Tôi biết về điều đó. – Vishal