如何在C#中基于枚举类型项创建字符串数组?
枚举转字符串数组的实现方法
针对你定义的Colors枚举,有两种简单直接的实现方式:
方法一:使用Enum.GetNames(最简洁)
这是.NET框架提供的原生方法,直接返回枚举所有成员的名称字符串数组,顺序和枚举定义完全一致:
string[] mylist = Enum.GetNames(typeof(Colors));
方法二:通过枚举值转换(更灵活)
如果需要对枚举值做额外处理(比如过滤特定项、自定义字符串格式),可以先获取枚举值再转换为字符串:
string[] mylist = Enum.GetValues(typeof(Colors)) .Cast<Colors>() .Select(color => color.ToString()) .ToArray();
比如你想排除某个枚举项,只需要在Select前加Where条件即可:
// 排除White项 string[] mylist = Enum.GetValues(typeof(Colors)) .Cast<Colors>() .Where(color => color != Colors.White) .Select(color => color.ToString()) .ToArray();
内容的提问来源于stack exchange,提问作者HosseinSedghian
相关产品推荐
相关产品推荐

