Enum.Format(或<enum>.ToString())具有可选的格式参数,允许您指定不同的格式选项。 对于带有位标志枚举的“G”或“F”,它输出“常量名称的分隔符分隔列表”。
至少在我的系统上,我得到了逗号空格分隔的列表。 我想知道的是,您是否可以通过格式字符串或通过我尚未遇到的某些其他方法更改该分隔符。 (具体而言,我想要一个以竖线分隔的列表。)
当然,我总是可以对输出进行字符串替换,但如果有预先更改分隔符的选项,那就更好了。
我认为不是这样的,根据http://msdn.microsoft.com/en-us/library/c3s1ez6e.aspx,它们将用逗号分隔。在转换后,您需要对逗号进行替换。您可以像这样执行:
var sb = new StringBuilder(YourEnum.ToString("F"));
sb.Replace(",", "|");