c#遍历枚举里面的内容-获取枚举数量,取得大小


private void ScanAllPLCStatus()
        {
           foreach (OpcUtil.PLC_Sensor_Enum e in Enum.GetValues(typeof(OpcUtil.PLC_Sensor_Enum)))
            {
                Console.WriteLine(e.ToString());
              //  bool sensor_result = OpcUtil.GetSensorStatus(e);
            }
        }

 https://blog.csdn.net/weixin_34112208/article/details/94122088

方法一
用映射来取得enum中的值

public enum enums
{
    a,
    b,
    c,
}

public static void GetEnumCount()
{
    foreach (enums e in Enum.GetValues(typeof(enums)))
    {
        Debug.Log(e);
    }
}
方法二
在结尾插入一个表示结束的枚举,来取得大小,这样就避免了映射的GC开销,很精巧的方法。

public enum enums
{
    a,
    b,
    c,
    End,
}
public static void GetEnumCount()
{
    for (int i = 0; i < (int)enums.End; i++)
    {
        Debug.Log((enums)i);
    }
}

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM