Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/274.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#_Arrays_Select_Ienumerable_Linq To Objects - Fatal编程技术网

C# 在数组类上使用Linq扩展

C# 在数组类上使用Linq扩展,c#,arrays,select,ienumerable,linq-to-objects,C#,Arrays,Select,Ienumerable,Linq To Objects,我正在尝试从枚举构建一个选择列表 为什么Linq扩展方法在Array上不可用 var values = Enum.GetValues(typeof(MyEnum)); var test = values.Select(x => x); // compile error 但我可以这样写,它可以编译 var test = from Enum e in values select new { e }; 我通常不使用这种类型的语法,因此我对它不是很熟悉,但上面的语法与不编译的lambda查询本

我正在尝试从
枚举
构建一个
选择列表

为什么
Linq
扩展方法在
Array
上不可用

var values = Enum.GetValues(typeof(MyEnum));
var test = values.Select(x => x); // compile error
但我可以这样写,它可以编译

var test = from Enum e in values select new { e };
我通常不使用这种类型的语法,因此我对它不是很熟悉,但上面的语法与不编译的lambda查询本质上不一样吗?

使用方法获取可以使用LINQ查询的
IEnumerable

var values = Enum.GetValues(typeof(MyEnum));
var test = values.OfType<int>().Select(x => x);
var values=Enum.GetValues(typeof(MyEnum));
var test=values.OfType().Select(x=>x);