我有个字典对象mydictionary_address 里面的类型存放的是<string,string> 举列里面的数据是{abc,7,8,9},{cdb,10,}。等等,现在我想提高效率用linq查询出var LinqValue = from dic in mydictionary_address where (dic.Value.Split(',').Length )> 1 select dic.Value;,意思是查询value大于一个以上的dic,可是每次执行发现取出的都是之前原本全部的数据,并没有过滤掉得到我想要的几个数据,这是为什么?还怎么解决?
where add.Value.Split(',').Length > 1
select add.Value;
addressDic.Add("A1", "a,b,c,d,e");
addressDic.Add("A2", "1,2,3");
addressDic.Add("A3", "4,5,6");
addressDic.Add("A4", "1"); var r = from add in addressDic
where add.Value.Split(',').Length > 1
select add.Value;
addressDic.Add("A1", "a,b,c,d,e");
addressDic.Add("A2", "1,2,3");
addressDic.Add("A3", "4,5,6");
addressDic.Add("A4", "1"); var r = from add in addressDic
where add.Value.Split(',').Length > 1
select add.Value;我这里r的执行结果是
"a,b,c,d,e"
"1,2,3"
"4,5,6"
不是你想要的结果??
.....
....
....
var LinqValue = from dic in mydictionary_address where dic.Value.Split(',').Length > 1 select dic.Value;
你看我的写法也是这样,但是LinqValue得到的count值却是mydictionary_address的全部count 数据一条都没有过滤
foreach (string l in r)
{
MessageBox.Show(l);
}