2011-06-29 36 views
6

Đang cố gắng để củng cố này ...Xác định Array và phím theo một cách đen - C#

string[] array = new string[]; 

array[0] = "Index 0"; 
array[3] = "Index 3"; 
array[4] = "index 4"; 

Into một dòng ...

Ví dụ trong PHP

$array = array(0 => "Index 0", 3 => "Index 3", 4 => "Index 4"); 

Tôi biết tôi có thể làm điều này

string[] array = { "string1", "string2", "string3" } 

Nhưng làm thế nào wou Tôi có chỉ số thích hợp trong đó không?

Trả lời

9

Có vẻ như bạn đang thực sự sau một Dictionary<int, string> chứ không phải là một C# mảng truyền thống:

var dictionary = new Dictionary<int, string> 
{ 
    { 0, "Index 0" }, 
    { 3, "Index 3" }, 
    { 4, "Index 4" } 
}; 
4

Trong C# bạn không thể. Nếu bạn muốn chỉ mục cụ thể, bạn phải vượt qua các giá trị null để giữ vị trí của đối tượng trống.

Thay vào đó, có vẻ như bạn thực sự là người thay thế cho số Dictionary<TKey, TValue>.

2

Theo tôi biết, bạn không thể bỏ qua số chỉ mục trong mảng thông thường (ví dụ: 0,1,2 và sau đó 4 không có 3). Bạn cần phải sử dụng cấu trúc dữ liệu khác nhau như Từ điển hoặc Hashtable.

Hashtable ht = new Hashtable() 
{ 
    {"key1", "value1"}, 
    {"key2", "value2"} 
}; 
0

Từ hiểu biết của tôi, bạn không thể xác định mảng theo cách bạn muốn. áp phích khác đã chỉ ra bạn có thể sử dụng các mảng kết hợp (Từ điển)

Tốt nhất bạn có thể tạo ra một cách giải quyết:

string[] array = {"array0", "", "array2", "array3"};

hoặc

string[] array = new string[4]; array[0] = "array0"; array[2] = "array2";

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