是否可以隐含地声明下一个字典< HyperLink,匿名>:
{ urlA,new { Text = "TextA",Url = "UrlA" } },{ urlB,new { Text = "TextB",Url = "UrlB" } }
所以我可以这样使用它:
foreach (var k in dic)
{
k.Key.Text = k.Value.Text;
k.Key.NavigateUrl = k.Value.Url;
}
?
解决方法
怎么样:
var dict = new[] {
new { Text = "TextA",Url = "UrlA" },Url = "UrlB" }
}.ToDictionary(x => x.Url);
// or to add separately:
dict.Add("UrlC",new { Text = "TextC",Url = "UrlC" });
但是,您可以直接在列表/数组上进行…
var arr = new[] {
new { Text = "TextA",Url = "UrlB" }
};
foreach (var item in arr) {
Console.WriteLine("{0}: {1}",item.Text,item.Url);
}
如果您需要通过(唯一)键进行O(1)查找,则只需要一个字典.