过去几周我一直在尝试利用Access数据库中包含的数据。我到了能够思考如何实现设计的地步。
如果我不是错误,则不能使用匿名类型作为方法的参数。这让我想知道在方法中返回LINQ查询结果的最佳方法是什么。如果您需要一些背景信息,那么所有问题都来自过去两周。
所以这让我感到疑惑:
写入查询时是否必须使用 var 语法?基于我在这里阅读的文章Here我理论上可以使用我自己的类或页面上列出的示例(string,int,ect)。
这引出了我的问题的第二部分: 如果我要说使用以下语法
IEnumerable<CustomClassHere> result = (from X in ....
where ....
**select** new CustomClassHere
{
Value = X.Field<int>("...")
}
);
我是否能够在返回IEnumerable的方法中返回结果?
如果我目前的问题不明确,我愿意提供更多详细信息,提供更详细的代码示例。如果您有任何涉及LINQ的设计建议,我将不胜感激。我希望使这个类及其与Access数据库的交互尽可能模块化。
答案 0 :(得分:3)
样本类
public class abc
{
internal string str;
internal int i;
}
列表集
List<abc> List = new List<abc>();
abc Obj = new abc();
Obj.str = "1";
Obj.i = 1;
List.Add(Obj);
Obj = new abc();
Obj.str = "2";
Obj.i = 1;
List.Add(Obj);
Obj = new abc();
Obj.str = "3";
Obj.i = 1;
List.Add(Obj);
IEnumerable<abc> FinalList = (from lst in List select lst).ToList();
<强>结果集强>
示例参考
101 LINQ SAMPLES - Very helpful to make stronghold on LINQ to Objects
答案 1 :(得分:2)
是的,您可以返回IEnumerable<CustomClass>
。
第一部分,不是,您不必使用var
,除非您选择匿名类(您在上面的示例中没有这样做)。