【c# – 枚举值`可浏览(假)`】教程文章相关的互联网学习教程文章

c# – 如何通过在String中指定其名称来获取枚举类型【代码】

假设我有这个枚举:namespace BusinessRule {public enum SalaryCriteria : int{[EnumDisplayName(DisplayName = "Per Month")]Per_Month = 1,[EnumDisplayName(DisplayName = "Per Year")]Per_Year = 2,[EnumDisplayName(DisplayName = "Per Week")]Per_Week = 3} }我的名字在一个字符串变量中,如:string EnumAtt = "SalaryCriteria";我试图检查这个枚举是否由这个名称定义,如果定义我想得到它的instance.i尝试过这样,但类型返回...

c# – 在列表中查找()与枚举【代码】

我正在使用代码库,其中列表需要经常搜索单个元素. 使用Predicate和Find()比在List上手动执行枚举更快吗? 例如:string needle = "example"; FooObj result = _list.Find(delegate(FooObj foo) {return foo.Name == needle; });与string needle = "example"; foreach (FooObj foo in _list) {if (foo.Name == needle)return foo; }虽然它们在功能上是等同的,但它们在性能方面是否相同?解决方法:它们在性能上并不相同. Find()方法需...

c# – Enum:需要获取枚举的名称,而不是其int值,作为字符串【代码】

我有一个包含一大堆值的枚举(这里只显示了三个):public enum LookupType {Alignment,Language,ReEmbedBehavior }然后我有一个基于名为LookupType的varchar字段获取数据的方法…我想要的是将此方法的调用者限制为只有数据库中的查找类型…所以在我的WHERE子句的末尾,我想要将枚举名称作为字符串,而不是它的整数值. 然后,调用者将执行类似GetLookupsByLookupType(LookupType.Language)的操作,我的方法将调用为“where lookuptype =’...

c# – 在枚举中使用字符串【代码】

我有一个代表银行账户的标准C#枚号:public enum Accounts {BankOfAmerica = 123654,BankOfIndia = 765091 }这个枚举在我的代码中的许多地方使用.某些对象使用它将帐号用作字符串(“123654”),使用整数(123654)或将帐户名称用作字符串(“BankOfAmerica”). 帐号更改,它们也包含数字,因此我不能简单地更改枚举… 有人能指出一种方法,使这种变化尽可能轻松,代码中的变化次数最少吗? 我想用一个包含帐户名和值的单例类替换枚举,但是为...

c# – 枚举器问题,有什么方法可以避免两个循环?【代码】

我有一个第三方api,它有一个类,它返回类中不同项的枚举器. 我需要删除该枚举器中的项目,因此我不能使用“for each”.我能想到的唯一选择是通过遍历枚举来获取计数,然后运行正常的for循环来删除项目. 有人知道避免这两个循环的方法吗? 谢谢 [更新]抱歉混淆,但安德烈在评论中是正确的. 这是我脑子里的一些伪代码无法正常工作,我正在寻找一个不会涉及两个循环的解决方案,但我想这是不可能的:for each (myProperty in MyProperty) { ...

c# – 如何根据值的类型和名称创建枚举对象?【代码】

我有一个枚举的类型(System.Type)和一个包含要设置的枚举值的字符串. 例如.给定:enum MyEnum { A, B, C };我有typeof(MyEnum)和“B”. 如何创建设置为MyEnum.B的MyEnum对象?解决方法: MyEnum enumValue = (MyEnum)Enum.Parse(typeof(MyEnum), "B");您还有一个不区分大小写的重载.

c# – 如何在NHibernate中查询存储为枚举的标志【代码】

如何进行HQL或Criteria搜索(后者是首选)涉及用作标志的枚举.换句话说,我有一个持久的枚举属性,存储某种标志.我想查询所有设置了这些标志之一的记录.使用Eq当然不会起作用,因为只有那是唯一的标志才会成立. 使用Criteria API解决这个问题是最好的,但如果只使用HQL这样做也很好.解决方法:以下是使用条件API执行此操作的方法:[Flags] enum Bar{A = 0x01,B = 0x02,C = 0x04 }var criteria = this.Session.CreateCriteria<Foo>().Add( ...

c# – 在EF6中使用枚举作为FK【代码】

我们有一个枚举供应商 但是现在我们还需要在这种关系上有一些域数据 所以在99.9%的域名代码中我们对enum的操作就像product.Supplier == Suppliers.FedEx 但是现在我们还添加了product.SupplierInfo.CanAdjustPickupTime,其中SupplierInfo是一个实体而不仅仅是一个简单的枚举类型. 我试过这些配置Property(p => p.Supplier).IsRequired().HasColumnName("SupplierId");HasRequired(p => p.SupplierInfo).WithMany().HasForeignKey(...

c# – 如何在Unity AndroidJavaClass中访问枚举【代码】

我是Unity的新手.我在Eclipse中有一个Android项目,在com.mytestcode包里面有Java类Test.在Test中有一个嵌套类Test.login,其中login是枚举,定义为enum login {APP,WEB,APP_WEB}.在Eclipse中,我可以运行得很好;package com.mytestcode; import com.mytestcode.Test; ... public testMethod(Test.login abc) {if(Test.login.APP == abc){// do something} }来到Unity,我遇到了这些错误AndroidJavaClass test = new AndroidJavaClass("...

c# – 从枚举中Swagger预定义的返回类型值【代码】

我需要能够告诉Swagger API文档某个API将返回某个枚举的子集. 想象一下,我有一个枚举UserType {User_Not_Found,User_Blocked,User_Duplicated,User_Active ……等等}. 一个api / users / search可能会在找到匹配时返回用户FullName,如果不匹配则返回“User_Not_Found”.return Request.CreateResponse(success ? HttpStatusCode.OK : HttpStatusCode.BadRequest, success ? fullName : UserType.User_Not_Found.ToString());问题:...

c# – ASP.NET MVC with Entity Framework中仅支持原始类型或枚举类型【代码】

我正在创建一个示例ASP.NET MVC Web应用程序,我正在遵循数据库的代码优先方法.我想创建产品表和事务表,另外我想通过迁移包含一些示例数据,但是当我尝试执行Update-Database时,我收到了标题中提到的错误消息.我确切地知道错误发生的原因,那是因为我使用List< Product>,如下所示.但是,我不知道如何解决问题,而交易应包括一个或多个产品.我的代码段可以在下面找到.public class Product {public int ProductID { get; set; }public st...

c# – 在项目之间共享一个枚举

我正在使用C#和.NET Framework 4.7开发解决方案. 我有一个枚举,我必须在许多项目之间分享.我只需要共享枚举,而不是这个项目中的其他类. 我是否需要使用枚举创建一个类库,以便在其他项目之间共享它? 我认为这太过分了:只为枚举创建一个项目. 此枚举类不经常更新.现在我在两个不同的项目中有两个这个枚举的副本.现在出现问题,我必须更新它.解决方法:I think this is too much: create a project for an enum only.如果您已经提出答...

c# – Active Directory组枚举【代码】

我使用以下代码查询公司LDAP列表.问题是它写出了完整的字符串.除了字符串解析之外,还有一种简单的方法可以写出组名吗?using System; using System.Collections.Generic; using System.DirectoryServices; using System.Linq;public class Test {public static void Main(){string userName = "USER";DirectoryEntry directoryEntry = new DirectoryEntry("LDAP://dc=ABC,dc=com");DirectorySearcher search = new DirectorySearch...

将十六进制枚举参数从C#传递给C【代码】

我在C中有一个接受十六进制参数的函数.我需要从C#调用这个函数.我目前的方法似乎不正确,因为我的C函数返回错误的数字. 这是我的C函数的声明:enum tags {TAG_A = -1,TAG_B = 0x00, TAG_C = 0xC1, ... }; int myfunction(enum tags t);这是我的C#代码:enum tags {TAG_A = -1,TAG_B = 0x00, TAG_C = 0xC1, ...}[DllImport ("mylibraryname")]public static extern int myfunction(tags t);myfunction(tags.TAG_B);我在Mac上,我正...

c# – 使用枚举数据绑定DatagridviewComboboxColumn【代码】

我有一个datagridview,它通过从SQL服务器获取数据来填充.gridview.Datasource = dataSet.Tables[0] – &GT没问题. 在这个网格中,一列是ComboboxColumn …… 对于这个填充(我的意思是,只绑定一个数据源),没问题:cmb.DataSource = Enum.GetValues(typeof(MyEnum)); cmb.ValueType = typeof(MyEnum); cmb.DataPropertyName = "MyEnum";我想知道如何数据绑定datagridviewcomboboxcolumn(此列的DB中的值是此组合框的选定值的索引.此组合...