相关疑难解决方法(0)

如果Enum值相同,我将获得哪个枚举常量

如果存在多个具有相同值的枚举常量,是否存在一个常数我得到的逻辑?

我尝试了下面的变化,但无法得到合理的逻辑.

主要方法:

public class Program
{
    public static void Main(string[] args)
    {
        Test a = 0;
        Console.WriteLine(a);
    }
}
Run Code Online (Sandbox Code Playgroud)

第一次尝试:

enum Test
{
    a1=0,
    a2=0,
    a3=0,
    a4=0,
}
Run Code Online (Sandbox Code Playgroud)

输出:

a2
Run Code Online (Sandbox Code Playgroud)

第二次尝试:

enum Test
{
    a1=0,
    a2=0,
    a3,
    a4=0,
}
Run Code Online (Sandbox Code Playgroud)

输出:

a4
Run Code Online (Sandbox Code Playgroud)

第三次尝试:

enum Test
{
    a1=0,
    a2=0,
    a3,
    a4,
}
Run Code Online (Sandbox Code Playgroud)

输出:

a2
Run Code Online (Sandbox Code Playgroud)

第四次尝试:

enum Test
{
    a1=0,
    a2=0,
    a3,
    a4
}
Run Code Online (Sandbox Code Playgroud)

输出:

a1
Run Code Online (Sandbox Code Playgroud)

.net c# enums

58
推荐指数
2
解决办法
2458
查看次数

在C中有重复的枚举值是否合法?

enum protocol {
    ascii_prot = 3, /* arbitrary value. */
    binary_prot,
    negotiating_prot = 4 /* Discovering the protocol */
};
Run Code Online (Sandbox Code Playgroud)

双方binary_protnegotiating_prot等于4

c enums

18
推荐指数
2
解决办法
7667
查看次数

C中枚举值的内存位置

我想我已经在某处读过,在C中取一个枚举值的地址是非法的(枚举值不是左值;但是,我现在找不到任何关于此的信息).这是正确的,如果是的话,为什么?


编辑:

这是一个例子,用上面的"枚举值"来澄清我的意思.我的意思是取first_value下面的地址,而不是获取枚举的实际实例的地址:

enum myenum
{
    first_value,
    second_value
};
Run Code Online (Sandbox Code Playgroud)

c memory pointers

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

标签 统计

c ×2

enums ×2

.net ×1

c# ×1

memory ×1

pointers ×1