【问题标题】:Using Linq extension on Array class在 Array 类上使用 Linq 扩展
【发布时间】:2011-08-09 10:33:46
【问题描述】:

我正在尝试从Enum 构建SelectList。

为什么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 查询本质上不一样吗?

【问题讨论】:

    标签: c# arrays select ienumerable linq-to-objects


    【解决方案1】:

    使用OfType方法获取IEnumerable<T>,可以使用LINQ查询:

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

    【讨论】:

      猜你喜欢
      • 2020-12-29
      • 1970-01-01
      • 2011-11-08
      • 2019-11-14
      • 1970-01-01
      • 1970-01-01
      • 2018-03-19
      • 2012-07-24
      • 1970-01-01
      相关资源
      最近更新 更多