C#预制阵列?

C#预制阵列?,c#,C#,编辑以解释这是一个如何不重复的问题:(感觉这可能应该在meta中) 1-我的问题显示出对所讨论对象的正确术语一无所知 2-我的问题根本不是关于有关对象的有用性 这两点在我问题的第一行“提前道歉,我不知道这里的术语”中得到了理解。我显然没有质疑我可以如何尊重这个对象 提前道歉,我不知道术语,所以请容忍我在这里 我想构建一个类似于System.ConsoleColor对象的对象/列表 我的意思是,对于ConsoleColor来说,数组中有一组属性,您可以选择一些友好的属性,比如“blue”,而不必

编辑以解释这是一个如何不重复的问题:(感觉这可能应该在meta中)

1-我的问题显示出对所讨论对象的正确术语一无所知

2-我的问题根本不是关于有关对象的有用性

这两点在我问题的第一行“提前道歉,我不知道这里的术语”中得到了理解。我显然没有质疑我可以如何尊重这个对象


提前道歉,我不知道术语,所以请容忍我在这里

我想构建一个类似于
System.ConsoleColor
对象的对象/列表

我的意思是,对于
ConsoleColor
来说,数组中有一组属性,您可以选择一些友好的属性,比如“blue”,而不必记住9是蓝色的

因此,对于我的函数,我希望能够执行如下操作,
foo
是一个
MyObject
,它只能是
Type1
Type2

public void MyFunction(MyObject foo) {
    switch (foo) {
        case MyObject.Type1:
            Console.WriteLine("myobject's type1");
            break;
        case MyObject.Type2:
            Console.WriteLine("myobject's type2");
            break;
    }
}

谢谢。

您需要枚举:

public enum MyObject
{
    Type1,
    Type2
}

public class Program
{
    public static void Main(string[] args)
    {
        MyObject foo = MyObject.Type1;
        switch (foo) {
            case MyObject.Type1:
                Console.WriteLine("myobject's type1");
            break;
            case MyObject.Type2:
                Console.WriteLine("myobject's type2");
                break;
        }
    }
}

这称为枚举。您需要的是
enum
。为什么要投反对票?难道不允许我不知道什么是
enum
吗?我因为明显缺乏研究而投了反对票。只需在谷歌上搜索“c#System.ConsoleColor”,转到第一个链接,您将看到
公共enum ConsoleColor
,然后只需搜索“c#enum”…请注意,enum并不像您想象的那样具有限制性。没有什么能阻止某人做
myobjectbar=(MyObject)3当枚举只有值1和2的定义时。谢谢!我觉得这很容易;将在时间限制后标记为答案。您至少可以指向文档或MSDN…@CamiloTerevinto yep,但现在他们知道他们在寻找什么,他们可以自己找到它。编辑:看,完美的例子!我自己也能找到东西。@AndrewHarris这是我看到你的物体时做的第一件事。关键是他们不知道能提出正确的问题需要什么。问题的第一行“提前道歉,我不知道术语,所以请在这里耐心听我说。”