c#如何用一个“值”作为一个现有的一个对象的属性名,怎么写?
js可以这么写
let name = [123,234,456,123]
let obj = {
“123”:0
}
obj[name[0]] = (obj[name[0]]? 0 : obj[name[0]]+1) //但这种写法在C#会报错
obj[name[1]] = 3 //但这种写法在C#会报错
是这意思么?
static void Main(string[] args)
{
string[] name = { "123", "234", "456", "123" };
var dic = new Dictionary<string, int>();
dic.Add("123", 0);
dic.Add("234", 1);
dic[name[0]] = dic[name[0]] == 0 ? 0 : dic[name[0]] + 1;
dic[name[1]] = dic[name[1]] == 0 ? 0 : dic[name[1]] + 1;
Console.WriteLine(dic[name[0]]);
Console.WriteLine(dic[name[1]]);
}