日期:2014-05-20  浏览次数:20990 次

linq问题!
假如dataset中查询出的结果是
列A 列b 列C
1 a 1
2 b 3
3 c 5
4 d 3
5 e 4
我要用linq获取列A 的所有值放到一个集合,获取列比的值放到一个集合

另外要取出列C大于列A,反回true 小于列A反回false

每列都要比较一次,请问咋写!

------解决方案--------------------
每列都要比较一次

就OK了.
------解决方案--------------------
C# code
var query = xxxxx;//结果就为A,B,C三列组成的类集合
List<int> listA = query.Select(c=>c.A).ToList();
List<string> listB = query.Select(c=>c.B).ToList();
List<bool> listC = query.Select(c=>c.A>c.B).ToList();

------解决方案--------------------
List<bool> listC = query.Select(c=>c.A>c.C).ToList();
这里认为等于和小于一样处理
------解决方案--------------------
C# code

DataSet ds;
    var list1=ds.Tables[0].AsEnumerable().Select(t=>t.Field<int>("A")).ToList();
    var list2=ds.Tables[0].AsEnumerable().Select(t=>t.Field<string>("B")).ToList();
    var list3=ds.Tables[0].AsEnumerable().Select(t=>t.Field<int>("C")>t.Field<int>("A")).ToList();