2010-09-09 28 views
8

Điều này luôn làm tôi bối rối, nhưng tôi đoán có một lời giải thích rất hợp lý về lý do tại sao nó xảy ra.Tại sao bạn có thể có dấu phẩy ở cuối bộ khởi tạo bộ sưu tập?

Khi bạn có trình khởi tạo bộ sưu tập, trình biên dịch cho phép dấu phẩy, ví dụ:

new Dictionary<string, string> 
{ 
    { "Foo", "Bar "}, 
}; 

new List<string> 
{ 
    "Foo", 
}; 

Bất cứ ai biết tại sao dấu phẩy đuôi này được cho phép bởi trình biên dịch?

Trả lời

4

Đó là một lập trình tiện lợi vì nhà phát triển chỉ có thể sao chép và dán dòng cuối cùng để mở rộng danh sách. C# /. NET là tốt như thế này :)

8

Có lẽ chủ yếu cho các công cụ như máy phát mã, ở đâu là cực kỳ thuận tiện không phải biết đây có phải là vật phẩm đầu tiên hay cuối cùng không. Có thể cho rằng đây không phải là yếu tố quyết định, nhưng (đã viết những công cụ như vậy) tôi rất biết ơn vì điều đó.

3

Tôi đoán vì hai lý do:

  1. Nó đã có việc làm thêm để có trình biên dịch nhận biết và điều trị các dòng cuối cùng khác nhau với những người khác.
  2. Thực sự thuận tiện để có dấu phẩy sau vì nó cho phép sắp xếp các dòng mà không gây ra lỗi xây dựng không cần thiết.
1

Khi bạn thay đổi này:


    new List<string> 
    { 
     "Foo", 
    }; 

đó:


    new List<string> 
    { 
     "Foo", 
     "Bar", 
    }; 

Diff-Tools sẽ chỉ làm nổi bật dòng thêm. Vì vậy, ví dụ: trong khi xem xét mã, bạn chỉ phải kiểm tra dòng mới.

Các vấn đề liên quan