我需要创建一个数组,单个键可以有两个值。 我想将数组格式化为这样:
array =
{
"key" => {"value1", "value2"}
}
我已经尝试过像这样格式化数组:
public string[,,] array = new string[,,]
{
{
{ "1", "5", "6" },
{ "2", "5", "7" }
},
{
{ "3", "1", "2" },
{ "4", "1", "3" }
}
};
但是我只能得到16个值进行循环,我想从我输入的键中访问它们。
如何以某种方式创建数组以获取所需的输出?
答案 0 :(得分:2)
最简单的操作是使用带有字符串 key 的Dictionary
和值为值的Value Tuple。本质上,字典具有快速的 key 查找,而命名值元组在访问密钥时为您提供一些理智
// Instantiated the dictionary
var funky = new Dictionary<string,(int Value1, int Value2)>();
// add some values
funky.Add("mykey",(1,5));
funky.Add("anotherKey",(4,5));
// access the values
Console.WriteLine(funky["mykey"].Value1);
Console.WriteLine(funky["anotherKey"].Value2);
答案 1 :(得分:1)
您不是要查找数组。您可能正在搜索字典。因此,MS这样说是关于字典的:https://docs.microsoft.com/en-us/dotnet/api/system.collections.generic.dictionary-2?view=netframework-4.8
代表键和值的集合。
因此,您需要使用给定的键访问一些值。就是这个。 示例:
Dictionary<string, string[]> xs = new Dictionary<string, string[]>()
{
{"key1", new string[] {"value1","value1.1"} },
{"key2", new string[] {"value2","value2.2"} },
};
xs["key3"] = new string[] { "test42" };
答案 2 :(得分:0)
最好的方法是创建一个字典,在其中您可以使用唯一键访问值,并且该值可以是您想要的任何类型。 在这种情况下,它是带有字符串键和字符串列表值的字典
var keyValues = new Dictinary<string, List<string>>();
keyValues.Add("key1", new List()
{
"Value1",
"Value2"
});