相关疑难解决方法(0)

如何在C#中枚举枚举?

你怎么能用enumC#枚举一下?

例如,以下代码无法编译:

public enum Suit 
{
    Spades,
    Hearts,
    Clubs,
    Diamonds
}

public void EnumerateAllSuitsDemoMethod() 
{
    foreach (Suit suit in Suit) 
    {
        DoSomething(suit);
    }
}
Run Code Online (Sandbox Code Playgroud)

并给出以下编译时错误:

'Suit'是'type',但用作'变量'

Suit关键字失败,第二个关键字失败.

.net c# enums loops enumeration

3620
推荐指数
28
解决办法
73万
查看次数

如何遍历C#中的所有枚举值?

这个问题在这里已有答案:
如何在C#中枚举枚举? 26个答案

public enum Foos
{
    A,
    B,
    C
}
Run Code Online (Sandbox Code Playgroud)

有没有办法循环可能的值Foos

基本上?

foreach(Foo in Foos)
Run Code Online (Sandbox Code Playgroud)

.net c# enums language-features

1359
推荐指数
8
解决办法
67万
查看次数

将枚举转换为List <string>

如何将以下枚举转换为字符串列表?

[Flags]
public enum DataSourceTypes
{
    None = 0,
    Grid = 1,
    ExcelFile = 2,
    ODBC = 4
};
Run Code Online (Sandbox Code Playgroud)

我找不到这个确切的问题,这个Enum to List是最接近但我特别想要的List<string>

.net c# enums generic-list

88
推荐指数
2
解决办法
9万
查看次数

如何在C#中获取所有枚举值的数组?

我有一个枚举,我想显示所有可能的值.有没有办法获取枚举的所有可能值的数组或列表,而不是手动创建这样的列表?例如,如果我有一个枚举:

public enum Enumnum { TypeA, TypeB, TypeC, TypeD }
Run Code Online (Sandbox Code Playgroud)

我怎么能得到一个List<Enumnum>包含{ TypeA, TypeB, TypeC, TypeD }

c# enums

79
推荐指数
6
解决办法
8万
查看次数

将枚举转换为列表

假设我有以下枚举值

enum Language
    {
       CSharp= 0,
        Java = 1,
        VB = 2

    }
Run Code Online (Sandbox Code Playgroud)

我想将它们转换为值列表(即) { CSharp,Java,VB}.

如何将它们转换为值列表?

c# enums list type-conversion

30
推荐指数
3
解决办法
5万
查看次数

将枚举值转换为字符串数组

public enum VehicleData
{
    Dodge = 15001,
    BMW = 15002,
    Toyota = 15003        
}
Run Code Online (Sandbox Code Playgroud)

我想在字符串数组中得到值15001,15002,15003,如下所示:

string[] arr = { "15001", "15002", "15003" };
Run Code Online (Sandbox Code Playgroud)

我试过下面的命令,但这给了我一些名字而不是值.

string[] aaa = (string[]) Enum.GetNames(typeof(VehicleData));
Run Code Online (Sandbox Code Playgroud)

我也尝试过,string[] aaa = (string[]) Enum.GetValues(typeof(VehicleData));但也没有用.

有什么建议?

c# linq enums

14
推荐指数
3
解决办法
2万
查看次数

枚举的多选下拉列表

我可以通过哪种方式实现枚举值的下拉列表?

我有这样的枚举:

public enum ValueEnum : byte
{
    [Description("Value 1")]
    Value1 = 1,
    [Description("Value 2")]
    Value2 = 2,
    [Description("Value 3")]
    Value3 = 4
}
Run Code Online (Sandbox Code Playgroud)

我想从服务器端的多个选择而不是选定值列表中获取单个值:

    public ActionResult ValueAction(ValueEnum result)
    {
        //too many code
        return View();
    }
Run Code Online (Sandbox Code Playgroud)

结果可以是ValueEnum.Value1ValueEnum.Value1 | ValueEnum.Value3

没有客户端总和,有没有办法做到这一点?

c# asp.net-mvc

7
推荐指数
1
解决办法
2044
查看次数

如何将枚举绑定到列表框?

我有一个Silverlight(WP7)项目,并希望将枚举绑定到列表框.这是一个包含自定义值的枚举,位于类库中.我该怎么做呢?

c# xaml windows-phone-7

5
推荐指数
1
解决办法
1万
查看次数

使用泛型方法获取我的枚举属性的List <string>

一开始,我们有这个基本的枚举.

public enum E_Levels {

    [ValueOfEnum("Low level")]
    LOW,

    [ValueOfEnum("Normal level")]
    NORMAL,

    [ValueOfEnum("High level")]
    HIGH
}
Run Code Online (Sandbox Code Playgroud)

而且我想得到List<string> 任何一个枚举.这样的东西Extensions.GetValuesOfEnum<E_Levels>()可以返回List<string>"低级别","正常级别"和"高级别".

StackOF帮助我获得了一个值属性:

public static class Extensions {

    public static string ToValueOfEnum(this Enum value) {

        FieldInfo fieldInfo = value.GetType().GetField(value.ToString());
        ValueOfEnum[] attribs = fieldInfo.GetCustomAttributes(typeof(ValueOfEnum), false) as ValueOfEnum[];
        return attribs.Length > 0 ? attribs[0].value : null;
    }
}
Run Code Online (Sandbox Code Playgroud)

无论枚举如何,我都可以调用这种方法:E_Levels.LOW.ToValueOfEnum().

此外,StackOF帮助我获得了List<string>一个特定的枚举.我在控制器中制作了这个方法:

private List<string> GetLevels() {

List<string> levelsToReturn = new List<string>();
var levels = Enum.GetValues(typeof(E_Levels)).Cast<E_Levels>(); …
Run Code Online (Sandbox Code Playgroud)

c# generics enums custom-attributes

5
推荐指数
1
解决办法
5648
查看次数

将枚举转换为List <T>的一般方法

这是一个"怪异"的问题:

是否有可能创建一种方法,在其中将任何枚举转换为列表.这是我目前正在思考的草案.

public class EnumTypes
{
   public enum Enum1
   {
      Enum1_Choice1 = 1,
      Enum1_Choice2 = 2
   }

   public enum Enum2
   {
      Enum2_Choice1 = 1,
      Enum2_Choice2 = 2
   }

   public List<string> ExportEnumToList(<enum choice> enumName)
   {
      List<string> enumList = new List<string>();
      //TODO: Do something here which I don't know how to do it.
      return enumList;
   }
}
Run Code Online (Sandbox Code Playgroud)

只是好奇是否可能以及如何做到这一点.

c#

5
推荐指数
1
解决办法
5808
查看次数