C# LINQ查询方法参数
过去几周,我一直在努力利用Access数据库中包含的数据。我已经到了我觉得我应该考虑如何实现设计的地步 如果我没有弄错的话,就不能使用匿名类型作为方法的参数。这让我想知道在方法中返回LINQ查询结果的最佳方法是什么。如果你需要一些背景信息,所有的问题都是过去两周的问题 这让我想知道: 写查询时是否必须使用var语法?根据我在这里读到的文章,理论上我可以使用我自己的类或页面上列出的示例(string、int等) 这就引出了我问题的第二部分: 如果我说使用以下语法C# LINQ查询方法参数,c#,linq,c#-4.0,C#,Linq,C# 4.0,过去几周,我一直在努力利用Access数据库中包含的数据。我已经到了我觉得我应该考虑如何实现设计的地步 如果我没有弄错的话,就不能使用匿名类型作为方法的参数。这让我想知道在方法中返回LINQ查询结果的最佳方法是什么。如果你需要一些背景信息,所有的问题都是过去两周的问题 这让我想知道: 写查询时是否必须使用var语法?根据我在这里读到的文章,理论上我可以使用我自己的类或页面上列出的示例(string、int等) 这就引出了我问题的第二部分: 如果我说使用以下语法 IEnumerable<Cu
IEnumerable<CustomClassHere> result = (from X in ....
where ....
**select** new CustomClassHere
{
Value = X.Field<int>("...")
}
);
IEnumerable结果=(从X英寸开始…)。。。。
哪里
**在此处选择**新建自定义类
{
值=X.字段(“…”)
}
);
我是否能够在返回IEnumerable的方法中返回结果
如果我目前的问题不清楚,我愿意提供更多的细节,提供更详细的代码示例。如果您有任何涉及LINQ的设计建议,我将不胜感激。我希望使这个类及其与Access数据库的交互尽可能模块化。是的,您可以返回一个
IEnumerable
第一部分不是,你不必使用
var
,除非你选择了一个匿名类(你在上面的例子中没有这样做)。示例类
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);
List确定,则不能以类型安全的方式返回匿名对象。您可以返回一个对象并使用反射,但这有明显的缺点。如果你想要类型安全,你必须创建一个自定义类。另外,使用var并不意味着对象的类型未知。它只会节省您键入它的时间-编译器将用实际类型替换它。e、 g.string s=“”
和var s=“”
完全相同。@Ramhound很公平。我个人是var的粉丝,可以省去一些按键操作,并且可以使重构变得更容易。
IEnumerable<abc> FinalList = (from lst in List select lst).ToList();