2011-09-08 39 views
12

Trong Python ai có thể làm:Tuyên bố từ điển giống như Python cho C#?

d = {1 : 'Hello', 2 : 'World'} 

Trong C# nó tiết hơn:

Dictionary<int, string> d = new Dictionary<int, string>(); 
d.Add(1, 'Hello'); 
d.Add(2, 'World'); 

Làm thế nào tôi có thể làm cho điều này ít tiết?

Trả lời

22

Bạn có thể sử dụng collection initializer syntax (và implicit typing with var):

var myDict = new Dictionary<int, string> { {1, "Hello"}, {2, "World"} }; 

Mã này thực sự sẽ được biên dịch xuống mã bạn có ở trên. Lưu ý rằng bạn (không may) không thể bỏ qua constructor hoặc các đối số kiểu generic.

Không hẳn là Pythonic, nhưng hãy đến đó!