我有一本字典定义为:
Dictionary<string, string> typeLookup = new Dictionary<string, string>();
我想根据用户选择的语言向字典添加一个键/值,在我的例子中是这样的:
Request.Cookies["language"].Value == "ja-JP" //if true, Japanese, if false, English
我可以只做 if/elses,但我很好奇是否有某种方法可以使这项工作:
typeLookup.Add((Request.Cookies["language"].Value == "ja-JP") ? "6","中間" : "6","Q2");
因为它是一个字典,所以需要指定两个字符串。这不起作用,给我“语法错误,':'预期”。这是一个失败的原因,还是我需要更改/添加一些东西才能使这个想法起作用?
最佳答案
由于条件的两边使用相同的键,你可以作弊:
typeLookup.Add("6", (Request.Cookies["language"].Value == "ja-JP") ? "中間":"Q2");
但是,在一般情况下,您最终会得到一个相当丑陋、重复的语句:
typeLookup.Add(
(Request.Cookies["language"].Value == "ja-JP") ? "6" : "7"
, (Request.Cookies["language"].Value == "ja-JP") ? "中間" : "Q2"
);
关于c# - 带有多个参数的三元语句,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13041600/