所有枚举项目到字符串(C#)

Mac*_*iej 23 .net c# enums

如何将所有元素从枚举转换为字符串?

假设我有:

public enum LogicOperands {
        None,
        Or,
        And,
        Custom
}
Run Code Online (Sandbox Code Playgroud)

我要归档的是:

string LogicOperandsStr = LogicOperands.ToString();
// expected result:  "None,Or,And,Custom"
Run Code Online (Sandbox Code Playgroud)

Moo*_*ose 65

string s = string.Join(",",Enum.GetNames(typeof(LogicOperands)));
Run Code Online (Sandbox Code Playgroud)


Kel*_*tex 12

你必须做这样的事情:

var sbItems = new StringBuilder()
foreach (var item in Enum.GetNames(typeof(LogicOperands)))
{
    if(sbItems.Length>0)
        sbItems.Append(',');
    sbItems.Append(item);
}
Run Code Online (Sandbox Code Playgroud)

或者在Linq:

var list = Enum.GetNames(typeof(LogicOperands)).Aggregate((x,y) => x + "," + y);
Run Code Online (Sandbox Code Playgroud)

  • 请不要滥用StringBuilder! (2认同)
  • 等等......难道你没有给那个Jon写出正确的答案吗?这是一个微不足道的循环.StringBuilder有点矫枉过正. (2认同)