Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/264.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# LINQ查询方法参数_C#_Linq_C# 4.0 - Fatal编程技术网

C# LINQ查询方法参数

C# LINQ查询方法参数,c#,linq,c#-4.0,C#,Linq,C# 4.0,过去几周,我一直在努力利用Access数据库中包含的数据。我已经到了我觉得我应该考虑如何实现设计的地步 如果我没有弄错的话,就不能使用匿名类型作为方法的参数。这让我想知道在方法中返回LINQ查询结果的最佳方法是什么。如果你需要一些背景信息,所有的问题都是过去两周的问题 这让我想知道: 写查询时是否必须使用var语法?根据我在这里读到的文章,理论上我可以使用我自己的类或页面上列出的示例(string、int等) 这就引出了我问题的第二部分: 如果我说使用以下语法 IEnumerable<Cu

过去几周,我一直在努力利用Access数据库中包含的数据。我已经到了我觉得我应该考虑如何实现设计的地步

如果我没有弄错的话,就不能使用匿名类型作为方法的参数。这让我想知道在方法中返回LINQ查询结果的最佳方法是什么。如果你需要一些背景信息,所有的问题都是过去两周的问题

这让我想知道:

写查询时是否必须使用var语法?根据我在这里读到的文章,理论上我可以使用我自己的类或页面上列出的示例(string、int等)

这就引出了我问题的第二部分: 如果我说使用以下语法

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();