什么是键值/值对的Javascript数组的C#等价物

coa*_*rob 4 javascript c#

这在javascript中代表什么:

[["January", 10], ["February", 8], ["March", 4], ["April", 13], ["May", 17], ["June", 9]]
Run Code Online (Sandbox Code Playgroud)

其次,什么是C#等价物?

数组数组?? 但是每个内部数组本质上都是一个键/值对,所以这是不对的.

如何在C#中生成这个JS对象?

InB*_*een 8

如果它是一个映射,那么在C#中高效查找的等价物将是Dictionary<TKey, TValue>:

var months = new Dictionary<string, int>()
{
    {"January", 1}, {"February", 2}, {"March", 3},
    {"April", 4}, {"May", 5}, {"June", 6}
};
Run Code Online (Sandbox Code Playgroud)

现在,如果它是一个元组数组,C#7具有本机元组支持:

var months = new[] 
{
    ("January", 1), ("February", 2), ("March", 3),
    ("April", 4), ("May", 5), ("June", 6)
};
Run Code Online (Sandbox Code Playgroud)

你甚至可以像这样命名元组的成员:

var months = new (string Name, int Number)[]
{
    ("January", 1), ("February", 2), ("March", 3),
    ("April", 4), ("May", 5), ("June", 6)
};

Console.WriteLine(months[0].Name);
Run Code Online (Sandbox Code Playgroud)