试图巩固这个......
string[] array = new string[];
array[0] = "Index 0";
array[3] = "Index 3";
array[4] = "index 4";
分成一行......
PHP中的示例
$array = array( 0 => "Index 0", 3 => "Index 3", 4 => "Index 4" );
我知道我可以做到这一点
string[] array = { "string1", "string2", "string3" }
但我怎么能在那里得到合适的索引?
答案 0 :(得分:10)
听起来你真的在Dictionary<int, string>
之后而不是传统的C#数组:
var dictionary = new Dictionary<int, string>
{
{ 0, "Index 0" },
{ 3, "Index 3" },
{ 4, "Index 4" }
};
答案 1 :(得分:4)
在C#中你不能。如果你想要特定的索引,你必须传入null
值来保存空对象的位置。
听起来你真的在Dictionary<TKey, TValue>
之后。
答案 2 :(得分:2)
据我所知,你不能跳过常规数组中的索引号(例如0,1,2,然后是4而不是3)。您需要使用不同的数据结构,如Dictionary或Hashtable。
Hashtable ht = new Hashtable()
{
{"key1", "value1"},
{"key2", "value2"}
};
答案 3 :(得分:0)
根据我的理解,你不能以你想要的方式定义数组。其他海报表明你可以使用关联数组(Dictionaries)
最多可以创建一个解决方法:
string[] array = {"array0", "", "array2", "array3"};
或
string[] array = new string[4];
array[0] = "array0";
array[2] = "array2";