我目前有:
var ids = dt.AsEnumerable().Select(x => (int)x["Id"]).ToList();
但是我还需要检索另一列,名称:int类型的“level”。期待输出像:
var<int,int> ids = ....
答案 0 :(得分:6)
一种方法是匿名类型:
var ids = dt.AsEnumerable().Select(x => new
{
Id = (int)x["Id"],
Level = (int)x["level"]
}).ToList();
这将为您提供该匿名类型的List<>
,所以现在您可以执行以下操作:
var level = ids[0].Level
更新:如果您必须将它们存储在Session
中以保持持久性,那么我建议您构建一个真实类型(class
),让我们称之为这个例子是Foo
。这会将代码更改为:
var ids = dt.AsEnumerable().Select(x => new Foo
{
Id = (int)x["Id"],
Level = (int)x["level"]
}).ToList();
然后当你需要将它们从Session
中取出时:
var ids = (List<Foo>)Session["ids"];