草庐IT

c# - 在 C# 2.0 中生成随机枚举

有人可以向我指出一种更简洁的方法来生成随机枚举成员。这有效但看起来很丑。谢谢!publicTRandomEnum(){string[]items=Enum.GetNames(typeof(T));Randomr=newRandom();stringe=items[r.Next(0,items.Length-1)];return(T)Enum.Parse(typeof(T),e,true);} 最佳答案 publicTRandomEnum(){T[]values=(T[])Enum.GetValues(typeof(T));retur

c# - 在 C# 2.0 中生成随机枚举

有人可以向我指出一种更简洁的方法来生成随机枚举成员。这有效但看起来很丑。谢谢!publicTRandomEnum(){string[]items=Enum.GetNames(typeof(T));Randomr=newRandom();stringe=items[r.Next(0,items.Length-1)];return(T)Enum.Parse(typeof(T),e,true);} 最佳答案 publicTRandomEnum(){T[]values=(T[])Enum.GetValues(typeof(T));retur

c# - 是否可以将整数转换为枚举?

这个问题在这里已经有了答案:HowdoIcastinttoenuminC#?(32个答案)关闭3年前。我得到以下枚举:publicenumdetallistaDocumentStatus{///ORIGINAL,///COPY,///REEMPLAZA,///DELETE,}然后我得到了detallistaDocumentStatus类型的类属性:publicdetallistaDocumentStatusdocumentStatus{get{returnthis.documentStatusField;}set{this.documentStatusField=value;}}在现实

c# - 是否可以将整数转换为枚举?

这个问题在这里已经有了答案:HowdoIcastinttoenuminC#?(32个答案)关闭3年前。我得到以下枚举:publicenumdetallistaDocumentStatus{///ORIGINAL,///COPY,///REEMPLAZA,///DELETE,}然后我得到了detallistaDocumentStatus类型的类属性:publicdetallistaDocumentStatusdocumentStatus{get{returnthis.documentStatusField;}set{this.documentStatusField=value;}}在现实

c# - 枚举的自定义属性是否危险?

我正在构建一个大量使用Enum的应用程序s用于自定义数据。本质上,一个对象存储在数据库中,具有大约28个独立的属性。每个属性都是一个双字符字段,从SQL直接转换为Enum。.不幸的是,我还需要将这些值转换为两个不同的人类可读值。一个用于数据表上的图例,一个用于CSS类,用于在Web应用程序前端设置图像样式。为此,我设置了两个自定义属性并将它们应用于Enum在必要时。例如:自定义属性接口(interface)publicinterfaceIAttribute{TValue{get;}}示例自定义属性publicsealedclassAbbreviationAttribute:Attrib

c# - 枚举的自定义属性是否危险?

我正在构建一个大量使用Enum的应用程序s用于自定义数据。本质上,一个对象存储在数据库中,具有大约28个独立的属性。每个属性都是一个双字符字段,从SQL直接转换为Enum。.不幸的是,我还需要将这些值转换为两个不同的人类可读值。一个用于数据表上的图例,一个用于CSS类,用于在Web应用程序前端设置图像样式。为此,我设置了两个自定义属性并将它们应用于Enum在必要时。例如:自定义属性接口(interface)publicinterfaceIAttribute{TValue{get;}}示例自定义属性publicsealedclassAbbreviationAttribute:Attrib

c# - 为什么我们不能在枚举字典的键时更改字典的值?

classProgram{staticvoidMain(string[]args){vardictionary=newDictionary(){{"1",1},{"2",2},{"3",3}};foreach(varsindictionary.Keys){//Throwsthe"Collectionwasmodifiedexception..."onthenextiteration//What'supwiththat?dictionary[s]=1;}}}我完全理解为什么在枚举列表时会抛出这个异常。期望在枚举期间枚举对象的结构不会改变似乎是合理的。但是,更改字典的值是否也会更改其结构?

c# - 为什么我们不能在枚举字典的键时更改字典的值?

classProgram{staticvoidMain(string[]args){vardictionary=newDictionary(){{"1",1},{"2",2},{"3",3}};foreach(varsindictionary.Keys){//Throwsthe"Collectionwasmodifiedexception..."onthenextiteration//What'supwiththat?dictionary[s]=1;}}}我完全理解为什么在枚举列表时会抛出这个异常。期望在枚举期间枚举对象的结构不会改变似乎是合理的。但是,更改字典的值是否也会更改其结构?

c# - 枚举返回类型不是字符串?

由于枚举使用整数,我可以使用什么其他结构来让我像枚举一样访问与名称相关联的值:[我知道这是错误的,正在寻找替代方案]privateenumProject{Cleanup=newGuid("2ED3164-BB48-499B-86C4-A2B1114BF1"),Maintenance=newGuid("39D31D4-28EC-4832-827B-A11129EB2"),Upgrade=newGuid("892F865-E38D-46D7-809A-49510111C1"),Sales=newGuid("A5690E7-1111-4AFB-B44D-1DF3AD66D435"),Repl

c# - 枚举返回类型不是字符串?

由于枚举使用整数,我可以使用什么其他结构来让我像枚举一样访问与名称相关联的值:[我知道这是错误的,正在寻找替代方案]privateenumProject{Cleanup=newGuid("2ED3164-BB48-499B-86C4-A2B1114BF1"),Maintenance=newGuid("39D31D4-28EC-4832-827B-A11129EB2"),Upgrade=newGuid("892F865-E38D-46D7-809A-49510111C1"),Sales=newGuid("A5690E7-1111-4AFB-B44D-1DF3AD66D435"),Repl