首页 > 解决方案 > 转换列表到 IEnumerable在 C# 中

问题描述

我想将我的列表转换为 IEnumerable,我已经搜索了几种方法,但似乎都没有。

我有一个名为MyEnum.

我的代码是:

List<string> statusFilter = new List<string>();
statusFilter.Add(Data.MyEnum.New.ToString("d"));
statusFilter.Add(Data.MyEnum.Queued.ToString("d"));
statusFilter.Add(Data.MyEnum.InProgress.ToString("d"));

我努力了:

  1. IEnumerable<MyEnum> myEnum =(IEnumerable<Data.MyEnum>)statusFilter as IEnumerable<Data.TaskStatus>
  2. IEnumerable<MyEnum> myEnum=(IEnumerable<Data.MyEnum>)statusFilter;
  3. IEnumerable<MyEnum> myEnum = statusFilter;
  4. IEnumerable<MyEnum> myEnum = statusFilter as IEnumerable<Data.MyEnum>;
  5. IEnumerable<MyEnum> myEnum = statusFilter.Cast<Data.MyEnum>()

在解决方案 #1 和 #2 我遇到错误:

System.InvalidCastException:'无法将'System.Collections.Generic.List`1 [System.String]'类型的对象转换为'System.Collections.Generic.IEnumerable`1

至于解决方案#4:

IEnumerable<MyEnum> myEnum仅设置为null.

至于解决方案#5:

'无法将'System.String'类型的对象转换为Data.MyEnum类型'

我无法将我的列表转换为一种类型,MyEnum因为它应该包含多个值以传递给我的数据库,所以我将其设为字符串。此外,要获取枚举的数值,为什么将其格式化为ToString("d").

标签: c#listenumstype-conversionienumerable

解决方案


推荐阅读