草庐IT

c# - 将枚举添加到组合框

您好,我可以知道如何获取下面的枚举值以绑定(bind)到组合框吗?我写了下面的代码,效果很好,但想知道这是不是最好的方法。publicenumCourseStudentStatus{Active=1,Completed=2,TempStopped=3,Stopped=4,}//BindCourseStatusDictionarylist=newDictionary();foreach(intenumValueinEnum.GetValues(typeof(CourseStudentStatus)))list.Add(Enum.GetName(typeof(CourseStudentSt

c# - 为什么只有整数枚举?

我写C#已经七年了,我一直在想,为什么枚举必须是整数类型?做这样的事情不是很好吗:enumErrorMessage{NotFound:"Couldnotfind",BadRequest:"Malformedrequest"}这是语言设计的选择,还是在编译器、CLR或IL级别存在根本的不兼容性?其他语言是否有字符串或复杂(即对象)类型的枚举?什么语言?(我知道解决方法;我的问题是,为什么需要它们?)编辑:“变通办法”=属性或带有常量的静态类:) 最佳答案 枚举的目的是为整数提供更有意义的值。您正在寻找枚举之外的其他东西。枚举与旧的Wi

c# - 无限期地重复可枚举

是否有无限重复可枚举的可枚举扩展方法?例如,给定一个返回的枚举:["a","b","c"]。我想要一个返回无限重复序列的方法["a","b","c","a","b","c","a","b","c"...]这听起来有点像Observable.Repeat,除了我想对IEnumerables进行操作。Enumerable.Repeat仅从单个元素生成枚举。 最佳答案 我不知道LINQ中内置了什么,但是真的可以很容易地创建自己的东西:publicstaticIEnumerableRepeatIndefinitely(thisIEnumer

c# - 数据绑定(bind) Int 属性到 WPF 中的枚举

下面是我拥有的一个类的简化示例:publicclassExampleClassDto{publicintDriverTypeId}我还有一个枚举,将DriverType的ID映射到有意义的名称:publicenumDriverType{None,Driver1,Driver2,Driver3}但我想在XAML中将其绑定(bind)到组合框。不幸的是,由于类型不匹配,它不喜欢这样。所以在我的ViewModel中,我必须创建第二个属性来映射这两个publicclassExampleViewModel{privateExampleClassDto_selectedExampleClass;p

c# - 在 SQL Server 中反汇编位标志枚举

我在SQLServer数据库中有一个INT列,它存储与位标志枚举相关的值。例如,如果枚举是:[Flags()]publicenumUserType{StandardUser=1,Admin=2,SuperUser=4}那么SQLServer中的列可能包含值5。我需要做的是从另一个表中选择包含有关UserType的额外详细信息的所有行,因此使用值5的示例,我想从ID为1和4的第二个表。有谁知道以这种方式分解数字的巧妙方法-理想情况下,该方法应该在某种程度上递归,因为这是一个非常简化的示例,并且实际的表/枚举要大得多。 最佳答案 获取设

C# 如何在类中使用 get、set 和使用枚举

我有一个使用类存储设置的程序。我需要它来使用设置和获取功能来更改和存储设置。我试过这个,但我没有让它工作。谁能帮我解决这个问题?privateenum_Difficulty{Easy,Normal,Hard};publicvoidSetDifficulty(Difficulty){_Difficulty=Difficulty;}publicenumGetDifficulty(){return_Difficulty;}有没有办法在具有get和set的类中使用枚举?我还需要使用bool和int。 最佳答案 这里有几处错误:您的枚举是私有

c# - 在 switch 语句中针对枚举进行编程,这是您的方式吗?

看代码片段:这是我在针对枚举进行编码时通常会做的事情。我有一个带有InvalidOperationException的默认转义(我不使用ArgumentException或其衍生物之一,因为编码是针对私有(private)实例字段而不是传入参数)。我想知道你们这些开发人员是否也在考虑这种转义......publicenumDrivingState{Neutral,Drive,Parking,Reverse};publicclassMyHelper{privateDrivingStatedrivingState=DrivingState.Neutral;publicvoidRun(){s

c# - 结合枚举值和位标志

我有这样的场景,用户有自己的角色NormalUserCustodianFinanceCustodian和Finance都是SuperUser我如何检查角色保管人是否是super用户这是我的示例代码..usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;namespaceConsoleApplication3{publicenumRole{NormalUser=0,Custodian=1,Finance=2,SuperUser=Custodian|Finance,All=Custodi

c# - 为什么 async 关键字在编译时会生成一个枚举器和附加结构?

如果我创建一个像下面这样的简单类:publicclassTestClass{publicTaskTestMethod(intsomeParameter){returnTask.FromResult(someParameter);}publicasyncTaskTestMethod(boolsomeParameter){awaitTask.FromResult(someParameter);}}并在NDepend中检查它,它表明TestMethod采取行动并成为asyncTask有一个为它生成的结构,带有一个枚举器、枚举器状态机和一些额外的东西。为什么编译器会生成一个名为TestClas

c# - Collection<T> 是封装 IList<T> 还是枚举 IList<T>?

如果我通过Collection属性公开内部成员:publicCollectionEntries{get{returnnewCollection(this.fieldImplimentingIList);}}当这个属性被调用时会发生什么?例如,调用以下代码行时会发生什么:Ttest=instanceOfAbove.Entries[i];instanceOfAbove[i]=valueOfTypeT;很明显,每次调用此属性时都会创建一个新的引用类型,但实际发生了什么?它只是包装IList吗?在下面,它是否枚举了IList并创建一个新的Collection实例?如果在for中使用此属性,我会