【C#枚举(一)使用总结以及扩展类分享】教程文章相关的互联网学习教程文章

c#-枚举证书发行(X509Certificate2)【代码】

我试图枚举服务器上的证书存储,并获取有关每个证书的信息.该代码正常工作,只是缺少“中间证书颁发机构”存储中找到的所有证书.string[] stores = new string[] { "AddressBook", "AuthRoot", "CertificateAuthority", "Disallowed", "My", "Root", "TrustedPeople", "TrustedPublisher" };for (int x = 0; x < stores.Length; x++){X509Store store = new X509Store(stores[x],StoreLocation.LocalMachine);store.Open(OpenFla...

c#-将linq查询结果转换为枚举【代码】

我有类似对象的清单.此列表中的对象都有一个名为Name的属性和一个名为Mk2Result的枚举类型,但枚举类型为Mk2TestResult. 现在在for循环中,我想看看列表中是否存在当前的itterator整数作为对象的名称:for(...... { // var query = from pin in _pins where pin.Name == i.ToString() select pin.Mk2Result;Mk2TestResult result = (Mk2TestResult)query;//Do some more stuff }但是编译器抱怨以下消息:Cannot convert type 'Sys...

在C#中使用“默认”作为枚举【代码】

我有一个关于使用“默认”作为枚举值的快速问题.我正在读取现有XML文件的内容,并将元素值解析为枚举.这是XML文件中内容的示例:<userpref_load_policy>default</userpref_load_policy>不幸的是,我无法执行以下操作,因为“默认”是关键字! “ at_start”和“ in_background”是该元素的其他允许值.public enum LoadPolicy { default, at_start, in_background }是否有一种“简单”的方法可以将default用作枚举值或欺骗编译器?我有...

从C#中的int是否有类型安全的枚举转换?【代码】

我知道我可以使用强制转换将int转换为枚举MyEnumType myEnum = (MyEnumType) myInteger;这里的问题是,如果myInteger不是int类型,则运行时强制转换不会在构建时停止我void MyMethod(MyObject myObject) {MyEnumType myEnum = (MyEnumType) myObject.someProperty;.... }上面的代码并不是一种罕见的代码模式,但是如果对象的属性类型已更改,则在构建时不会保护我. 是否有内置方法来执行此转换,这会给我一个构建时错误?我当然可以相当...

c#-将枚举值绑定到标签XAML【代码】

我正在使用一个Enum字段来跟踪程序的状态.public enum StatiMacchina {InAvvio = 1,Pronta = 2,InLavorazione = 3,InMovimento = 4,InAttesa = 5,InErrore = 6 }我将绑定跟随字段的状态(在主窗口中)public StatiMacchina StatoMacchina { get; set; }在XAML中带有标签.<TextBlock Text="{Binding Path=StatoMacchina, Converter={StaticResource StatoMacchinaToString}}" />我使用转换器(在Convert函数下面)public object Convert...

c#-如何将int转换为选定的枚举?【代码】

以前的开发人员(已不再与我们合作,所以我不能问他)做了一件很漂亮的事,我真的不明白.我们有这个枚举:[Flags]public enum SidingTypePreference{[Value(Name = "Vinyl")]Vinyl = 1,[Value(Name = "Metal or Aluminum")]MetalOrAluminum = 2,[Value(Name = "Composite")]Composite = 4,[Value(Name = "Wood")]Wood = 8,[Value(Name = "Other")]Other = 16}在数据库中,SidingTypes存储为单个int,它是所有选定值的总和.在模型中:publ...

C#-使用枚举(构造列表)【代码】

您可能会遇到这样的情况:声明一个特定的枚举,并且想要评估某个对象以找出其满足的枚举类别,即一个对象可能满足将其分类为多个枚举的条件. 一个例子是,例如,在一所大学中,我开设了各种课程,而该课程列出了来自同一专业的不同专业的学生.因此,我们有public class Course {int Id;IList<Electrical> ElectricalStudents;IList<Computer> ComputerStudents;IList<Bioengineering> BioengineeringStudents;IList<Mechanical> Mechanica...

c# – 如何在命名空间C中将枚举设置为public【代码】

如何将命名空间中的枚举设置为public,以便可以在代码中的任何位置访问它?我正在尝试将C#程序转换为c 我放namespace foo { public: enum foo{} }但这显然不起作用.有什么建议?解决方法:在C中,命名空间中的任何内容都是公共的.只需使用:namespace foo {enum foo {bar,baz}; }

C#枚举相关用法

什么是枚举?枚举是一组命名整型常量。枚举类型是使用 enum 关键字声明的。枚举是值类型。换句话说,枚举包含自己的值,且不能继承或传递继承。 定义枚举:public enum Direction {[Description("东")]East,[Description("南")]South,[Description("西")]West,[Description("北")]North } 默认枚举的int值从零开始,枚举的下一项int值会自动累加上一个枚举项的值。例如:East = 1,则South=2, West=3,以此类推。。。 或East = 4,则...

c# – 负数范围可枚举【代码】

在python中,我们有一个范围可以为具有负整数的数组生成. 例如:In[4]: range(-2, 2+1) Out[4]: [-2, -1, 0, 1, 2]C#中是否存在等效系统;我知道IEnumerable方法,但在尝试它时,我得到以下输出://Rextester.Program.Main is the entry point for your code. Don't change it. //Compiler version 4.0.30319.17929 for Microsoft (R) .NET Framework 4.5using System; using System.Collections.Generic; using System.Linq; using Sy...

浅谈C#中的枚举 【转自http://www.cnblogs.com/liyingyi/archive/2005/12/28/306772.html】

原文链接:http://www.cnblogs.com/chen20090616/archive/2012/10/30/2746134.html枚举类型是一种的值类型,它用于声明一组命名的常数。 (1)枚举的声明:枚举声明用于声明新的枚举类型。 访问修辞符 enum 枚举名:基础类型 { 枚举成员 } 基础类型必须能够表示该枚举中定义的所有枚举数值。枚举声明可以显式地声明 byte、sbyte、short、ushort、int、uint、long 或 ulong 类型作为对应的基础类型。没有显式地声明...

c#enums:他们可以使用java枚举等成员和函数吗?

在java中,可以给枚举一个构造函数以及成员变量和函数. 我想知道在c#enums中是否有可能出现这样的事情.如果是这样,怎么样? 非常感谢!解决方法:执行与此类似的操作的唯一方法是使用扩展方法,这可以使其看起来好像枚举具有成员方法. 除此之外,您可以为枚举创建一个伴随结构类型,该类型具有枚举值的属性,然后添加其他属性和方法来支持该值.

c# – 我们应该把枚举放在哪里?

我用Java开发时总会困扰我的一个简短问题.我实际上使用了很多不同的枚举,我不知道应该把它们放在哪里.通常,我创建一个名为enumeration的特殊包,我很确定这不是最佳实践.我应该将我的枚举直接放在同一个包中,而不是它最适合的类组吗? 另外,对于另一种语言(C#或C)是否相同?解决方法:最好的决定取决于枚举的使用方式. 例如. >如果枚举仅在一个类中使用,则可以使其成为该类的内部类>如果一个类(例如A)使用枚举比其他类更多(例如,其他...

c# – 搜索可枚举的最有效方法【代码】

我正在编写一个小程序,它接收一个.csv文件作为输入,大约有45k行.我试图将此文件的内容与数据库中的表的内容进行比较(SQL Server通过动态CRM使用Xrm.Sdk,如果它有所不同). 在我当前的程序中(需要大约25分钟进行比较 – 文件和数据库完全相同,这两个45k行没有差别),我在数据库中的所有现有记录都在DataCollection< Entity>继承Collection< T>和IEnumerable< T> 在我下面的代码中,我使用Where方法进行过滤,然后根据匹配计数进行逻辑. ...

c# – 如何更改枚举的类型?【代码】

默认情况下,C#枚举存储为整数.我想把它缩短一下.有没有办法做到这一点?解决方法:当然,这可以做到,但它必须是一个整数类型(byte,short,int等),除了char …enum myEnum : short {FirstValue = 0, };here是MSDN文档