相关疑难解决方法(0)

如何在C#中迭代枚举?

我想迭代一个枚举,所以我可以用该枚举的每个值调用一个方法.我怎样才能做到这一点?

enum Base { ANC, BTC, DGC };

XmlDocument doc;

doc = vircurex.get_lowest_ask(Base.ANC)
doc = vircurex.get_lowest_ask(Base.BTC)
doc = vircurex.get_lowest_ask(Base.DGC)
Run Code Online (Sandbox Code Playgroud)

我希望它变成类似的东西

foreach (var val in values)
   doc = vircurex.get_lowest_ask(....)
Run Code Online (Sandbox Code Playgroud)

有没有办法做到这一点?

c# enums

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

显示枚举的int值

我有一个propertygrid,需要在propertygrid内创建一个组合框并显示int值(1到9),我发现使用enum是最简单的方法,但是enum无法显示int值,即使我尝试将其强制转换为int ,但我不知道如何返回所有值。还有其他方法吗?提前致谢。下面是我的代码。

public class StepMode
    {
        private TotalSteps totalSteps;

        public TotalSteps totalsteps
        {
            get { return totalSteps; }
            set { value = totalSteps; }
        }
        public enum TotalSteps
        {
            First = 1,
            Second = 2,
            Three = 3,
            Four = 4,
            Five = 5,
            Six = 6,
            Seven = 7,
            Eight = 8,
            Nine = 9
        }
    }
Run Code Online (Sandbox Code Playgroud)

c# wpf propertygrid enums

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

如何枚举枚举,跳过默认值

当我声明枚举时,我经常添加一个NOT_SET = 0值来知道实例何时尚未初始化.当我枚举这种枚举的值时(如此此处所述),丢弃NOT_SET值的最佳方法是什么?我能想到的最好的是

Enum.GetValues(typeof(T)).Cast<int>().Where(item => (0 != (int)item)).Cast<T>();
Run Code Online (Sandbox Code Playgroud)

我不喜欢它,因为与所有那些Cast <>的迭代太多了.我更喜欢基于的东西

(T[]) Enum.GetValues(typeof(T))
Run Code Online (Sandbox Code Playgroud)

没有所有的Cast <>.

.net enums

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

在 C++ 中迭代枚举

C++ 枚举问题。

所以我有一个文件列表及其 ID,我需要对其进行迭代并执行操作。大多数内容是相同的,但有一些特定于文件的事情需要完成。我尝试将文件 ID 放入枚举中,然后对其进行迭代。然而,文件 ID 是不连续的,并且会跳跃。

目前,我有类似的东西

for(int i = 0; i < FILE_ENUM_MAX; i++)
{
    currentFile = myEnum(i);
    // do stuff
}

enum myEnum {
    file1 = 0x1111,
    file2 = 0x8000,
    file3 = 0x75,
    file4 = 0x120,
    FILE_ENUM_MAX = 4
}
Run Code Online (Sandbox Code Playgroud)

这是行不通的;我只是浏览文件 0、1、2 和 3。我的想法是,我不能通过询问项目 N 来获取枚举中的第 N 个项目。那么迭代此枚举的最佳方法是什么?或者我应该摆脱它?我可能可以按数字顺序排列项目,但我更喜欢顺序无关紧要的解决方案。

c++ enums

0
推荐指数
1
解决办法
7557
查看次数

如何将枚举转换为列表

这是枚举;

   public enum myEnum{   
    A= 1,
    B= 2,
    C= 3,
    D= 4,
}
Run Code Online (Sandbox Code Playgroud)

我需要一个列表,其中包含除D之外的所有内容,这样,它的工作原理就可以了;

List<Enum>{myEnum.A, myEnum.B, myEnum.C}

但当然非常丑陋。如何直接转换和过滤此枚举的D

c# asp.net enumeration

-1
推荐指数
1
解决办法
79
查看次数

标签 统计

enums ×4

c# ×3

.net ×1

asp.net ×1

c++ ×1

enumeration ×1

propertygrid ×1

wpf ×1