标签: enumeration

如何在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万
查看次数

PHP和枚举

我知道PHP没有本机枚举.但我已经从Java世界习惯了它们.我希望使用枚举作为一种方式来提供IDE的自动完成功能可以理解的预定义值.

常量可以解决问题,但是存在名称空间冲突问题,并且(或实际上因为)它们是全局的.数组没有命名空间问题,但是它们太模糊了,它们可以在运行时覆盖,IDE很少(从不?)知道如何自动填充其键.

您是否经常使用任何解决方案/解决方法?有谁回忆一下PHP家伙是否对枚举有任何想法或决定?

php enumeration

1114
推荐指数
21
解决办法
47万
查看次数

C#循环 - 中断与继续

在C#(随意回答其他语言)循环中,break和continue之间的区别是什么,作为离开循环结构的手段,并进入下一次迭代?

例:

foreach (DataRow row in myTable.Rows)
{
    if (someConditionEvalsToTrue)
    {
        break; //what's the difference between this and continue ?
        //continue;
    }
}
Run Code Online (Sandbox Code Playgroud)

c# loops enumeration

777
推荐指数
12
解决办法
72万
查看次数

我如何迭代NSArray?

我正在寻找标准习语来迭代NSArray.我的代码需要适合OS X 10.4+.

iteration cocoa enumeration objective-c nsarray

446
推荐指数
6
解决办法
33万
查看次数

对于目标c中的每个循环,用于访问NSMutable字典

我发现在Objective-C中访问可变字典键和值有些困难.

假设我有这个:

NSMutableDictionary *xyz=[[NSMutableDictionary alloc] init];
Run Code Online (Sandbox Code Playgroud)

我可以设置键和值.现在,我只想访问每个键和值,但我不知道键的数量.

在PHP中它非常简单,如下所示:

foreach ($xyz as $key => $value)
Run Code Online (Sandbox Code Playgroud)

如何在Objective-C中实现?

enumeration objective-c nsdictionary key-value nsmutabledictionary

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

Ruby中的"map"方法做了什么?

我是编程新手.有人可以解释一下.map会做什么:

params = (0...param_count).map
Run Code Online (Sandbox Code Playgroud)

ruby enumeration map range

243
推荐指数
4
解决办法
31万
查看次数

案例对象与Scala中的枚举

是否有关于何时使用案例类(或案例对象)与在Scala中扩展Enumeration的最佳实践指南?

他们似乎提供了一些相同的好处.

enumeration scala case-class

225
推荐指数
9
解决办法
11万
查看次数

foreach vs someList.ForEach(){}

显然有很多方法可以迭代集合.好奇,如果有任何差异,或为什么你使用一种方式而不是另一种方式.

第一种:

List<string> someList = <some way to init>
foreach(string s in someList) {
   <process the string>
}
Run Code Online (Sandbox Code Playgroud)

另一种方式:

List<string> someList = <some way to init>
someList.ForEach(delegate(string s) {
    <process the string>
});
Run Code Online (Sandbox Code Playgroud)

我认为,除了我上面使用的匿名代表之外,我还有一个你可以指定的可重用代理......

.net c# generics loops enumeration

152
推荐指数
8
解决办法
21万
查看次数

为什么多维数组中的枚举值不等于它自己?

考虑:

using System;

public class Test
{
    enum State : sbyte { OK = 0, BUG = -1 }

    static void Main(string[] args)
    {
        var s = new State[1, 1];
        s[0, 0] = State.BUG;
        State a = s[0, 0];
        Console.WriteLine(a == s[0, 0]); // False
    }
}
Run Code Online (Sandbox Code Playgroud)

怎么解释这个?当在x86 JIT中运行时,它出现在Visual Studio 2015中的调试版本中.x64 JIT中的发布版本或运行按预期打印True.

要从命令行重现:

csc Test.cs /platform:x86 /debug
Run Code Online (Sandbox Code Playgroud)

(/debug:pdbonly,/debug:portable并且/debug:full还复制.)

c# enumeration multidimensional-array

151
推荐指数
2
解决办法
2923
查看次数

在Enum中搜索字符串并返回Enum

我有一个枚举:

public enum MyColours
{
    Red,
    Green,
    Blue,
    Yellow,
    Fuchsia,
    Aqua,
    Orange
}
Run Code Online (Sandbox Code Playgroud)

我有一个字符串:

string colour = "Red";
Run Code Online (Sandbox Code Playgroud)

我希望能够回归:

MyColours.Red
Run Code Online (Sandbox Code Playgroud)

从:

public MyColours GetColour(string colour)
Run Code Online (Sandbox Code Playgroud)

到目前为止,我有:

public MyColours GetColours(string colour)
{
    string[] colours = Enum.GetNames(typeof(MyColours));
    int[]    values  = Enum.GetValues(typeof(MyColours));
    int i;
    for(int i = 0; i < colours.Length; i++)
    {
        if(colour.Equals(colours[i], StringComparison.Ordinal)
            break;
    }
    int value = values[i];
    // I know all the information about the matched enumeration
    // but how do i convert this information into returning a
    // …
Run Code Online (Sandbox Code Playgroud)

c# string enumeration

148
推荐指数
4
解决办法
11万
查看次数