使用linq命令keyvaluepair

时间:2013-10-16 12:01:38

标签: c# asp.net linq

我有以下列表keyvaluepair

   var countryList = new List<KeyValuePair<string,int>>();

然后我用db这样的while循环填充

   countryList.Add(new KeyValuePair<string, int>("cname",1));

然后我想用linq查询它并同时订购它,我有这个

var lst = from s in countryList
      orderby s.[0]
      select s;

你可以猜测它不起作用,我知道为什么它是s。[0]但有人能告诉我正确的语法是什么吗?

感谢

2 个答案:

答案 0 :(得分:1)

var lst = from s in countryList
      orderby s.Key
      select s;

答案 1 :(得分:1)

我会用一行来代替

var sortedCountryList = countryList.OrderBy(s=>s.Key);

如果您只想要列表中的国家/地区名称

var sortedCountryList = countryList.OrderBy(s=>s.Key).Select(s=>s.Value);