C# 枚举(ENUM) 技术教程文章

C#中IEnumerable、ICollection、IList、IQueryable 、IQueryable 之间的区别【代码】

一:一个简单的例子int[] myArray = { 1, 32, 43, 343 };IEnumerator myie = myArray.GetEnumerator();myie.Reset();while (myie.MoveNext()){int i = (int)myie.Current;Console.WriteLine("Value: {0}", i);} 通常我们这样会这样做: foreach (int item in myArray)Console.WriteLine(item.ToString()); 使用for和foreach来遍历数组,而对于上面的语法却用的很少,但是对foreach的具体来历还很模糊!】二:理解Foreach要实现fo...

C# 枚举运用"位"操作和"或"操作【代码】

定义:///<summary>/// The js function type(the same as name).///</summary> [Flags]publicenum CallJSFunctionTypes{None = 0,ResetFixedBar = 1 << 1,ResetRequiredField = 1 << 2,SetValidateSuccessTextBoxStyle = 1 << 3,SetValidateFailTextBoxStyle = 1 << 4,ResizeSummary = 1 << 5//,All = 1 << 5 - 1}使用://可以先给个初始值. CallJSFunctionTypes JSFunctions = CallJSFunctionTypes.None;//...//可以这样赋值, 想...

编写高质量代码改善C#程序的157个建议——建议8: 避免给枚举类型的元素提供显式的值【代码】

建议8: 避免给枚举类型的元素提供显式的值一般情况下,没有必要给枚举类型的元素提供显式的值。创建枚举的理由之一,就是为了代替使用实际的数值。不正确地为枚举类型的元素设定显式的值,会带来意想不到的错误。如果为建议7中的枚举类型Week增加一个元素,代码如下所示:enum Week { Monday = 1, Tuesday = 2, ValueTemp, Wednesday = 3, Thursday = 4, Friday = 5, Saturday = 6, Sunday = 7 } 设想一下ValueTemp的值...

C#中的枚举(Enum)你知道多少呢?

写个随笔文章是最难想的,我要是写个C#枚举个人小结,估计博客园的各位园有也觉得是哪个刚接触C#的人写的,要是取个名字叫C#枚举,又觉得不能完全表达自己的意思,现在这个名字看起来还凑合吧,写篇文章不容易,大家且看且珍惜,文章的开头废话依然是很多,大家就将就一下,说个小事情,我个人写的文章不一定有什么技术含量,也不一定能解决什么高大上的问题,但是文章出自个人的辛苦研究总结所得,如果你抓取了我的请贴上文章链接...

C# 枚举绑定到ComboBox

来自:http://blog.csdn.net/crazy_frog/article/details/7705442方法一:绑定 [csharp] view plaincopy enum TestEnum {zero=0,one=1,two=2} ComboBox cbo = new ComboBox(); cbo.DataSource = System.Enum.GetNames(typeof(TestEnum)); TestEnum test = TestEnum .one; cbo.SelectedIndex = this.cbo.FindString(test.ToString()); 取值 TestEnum testenum = (TestEnum)Enum.Parse(typeof(TestEnum) ,cbo.Selecte...

13、C#基础整理(枚举)【代码】

枚举1、概念和作用(1)用于存放常量,只能在定义时赋值(防止编程过程中恶意篡改,并且防止对同一事物的不同赋值--统一化)(2)定义的枚举类型需要包含该类型的所有可能的值(3)方法、类、内部都可以定义,一般和类定义在同一个级别,这样所有类都可以用这个枚举了2、定义:enum 类型名称{值1,值2,值3……值n}(默认索引从0开始,值不能是int类型)enum Gender//定义一种枚举类型,只有“男”、“女”两个值{男,//在定义枚举时...

C# Arraylist + struct 综合练习 枚举ENUE 递归【代码】【图】

枚举类型一组常量的组合, 在不制定任何索引的情况下,默认第一个字段从0开始,之后的依次+1 在指定了某个索引的情况下,之后的依次+1 若之前定义的某字段的索引指向了之后的某个默认字段,那么他俩完全相同 不需要初始化Console.WriteLine(meiju.five);//常量字段 Console.WriteLine((int)meiju.five);//字段代表的值 Console.WriteLine(meiju.one);//常量字段 Console.WriteLine((int)meiju.one);//字段代表的值 Console.WriteL...

C#获取枚举的描述【代码】

publicenum StatusEnum{///<summary>/// 运行中///</summary>[Description("运行中")]Running = 1,///<summary>/// 已关闭///</summary>[Description("已关闭")]Stopped = 0}publicclass EnumHelper{#region 静态方法publicstatic Dictionary<string, string> GetEnumDescription<T>(){Dictionary<string, string> dic = new Dictionary<string, string>();FieldInfo[] fields = typeof(T).GetFields();foreach (FieldInfo field i...

c# 枚举返回字符串操作【代码】

//内部类public static class EnumHelper { public static string GetDescription(Enum value) { if (value == null) { throw new ArgumentException("value"); } string description = value.ToString(); var fieldInfo = value.GetType().GetField(description); var attributes = (EnumDescriptionAttribute[]) fieldInfo.GetCustomAttributes(typeof (EnumDescriptionAttribute), false); if (attributes != null ...

C# Enum,Int,String的互相转换

Enum为枚举提供基类,其基础类型可以是除 Char 外的任何整型。如果没有显式声明基础类型,则使用Int32。编程语言通常提供语法来声明由一组已命名的常数和它们的值组成的枚举。注意:枚举类型的基类型是除 Char 外的任何整型,所以枚举类型的值是整型值。Enum 提供一些实用的静态方法:(1)比较枚举类的实例的方法(2)将实例的值转换为其字符串表示形式的方法(3)将数字的字符串表示形式转换为此类的实例的方法(4)创建指定枚举和值的实...

<转载>C#IEnumerable和IEnumerator 详解【代码】【图】

初学C#的时候,老是被IEnumerable、IEnumerator、ICollection等这样的接口弄的糊里糊涂,我觉得有必要切底的弄清楚IEnumerable和IEnumerator的本质。 下面我们先看IEnumerable和IEnumerator两个接口的语法定义。其实IEnumerable接口是非常的简单,只包含一个抽象的方法GetEnumerator(),它返回一个可用于循环访问集合的IEnumerator对象。IEnumerator对象有什么呢?它是一个真正的集合访问器,没有它,就不能使用foreach语句遍历集...

C#枚举总结和其扩展用法(通过枚举描设置枚举值)【代码】

C#中枚举是一个非常好用的类型,用会了之后确实方便了很多。项目中一个枚举类型:publicenum Version_Type : byte {[Description("1997版")] 版本1997 = 0 ,[Description("2007版")] 版本2007 }枚举类型的默认类型是int型,可以改变其使用的类型,需要用(: <type>)来进行设置,上例中<type>为byte,也可以用其它类型(byte,sbyte,short,ushort,int,uint,long,ulong)访问控制符不可以为private,protected或者protected internal枚...

C# 添加枚举中文资源【代码】【图】

在业务开发过程中,添加枚举,在固定枚举值的同时,也需要中文的文案。如果不想添加语言资源项、添加枚举转语资源项,可以使用特性标记。属性描述 DescriptionAttribute先看案例: 1publicenum WheelchairDataType2 {3 [Description("前进加速")]4 ForwardAdd,5 [Description("前进减速")]6 ForwardReduce,7 [Description("后退加速")]8 BackwardAdd,9 [Description("后退...

c# – 我是否必须使用CopyTo将自定义集合转换为可枚举的?【代码】

请考虑以下代码:var results = searcher.FindAll();SearchResult[] srList = new SearchResult[results.Count]; results.CopyTo(srList, 0);其中searcher.FindAll()返回System.DirectoryServices.SearchResultCollection. 我是否必须使用CopyTo将它们放入可枚举的中,然后我可以在Parallel.ForEach中使用它?如果是这样,为什么? 我使用System.Linq但没有弹出ToList方法. 谢谢大家!解决方法:您可以使用Cast<T>()将SearchResultCol...

初学c# 类,枚举和结构体的一些小细节。【代码】

public class Program{static void Main(){//同一名称空间中枚举,无需加public也能直接访问。//同一名称空间中的举或者结构成员,需加public才能访问A.print();// 枚举不需要new,直接赋值NAME name = NAME.ZHAO;Console.ReadKey();}}class A{//枚举和结构写在类的内部,只能该类访问。enum MyEnum{TT,DD,BB}struct teacher{public string tename;public int teid;}public static void print(){Console.WriteLine("i am A");//clas...

c# – 如何在实体框架核心rc2中实现类型安全枚举模式【代码】

如何在实体框架核心rc2中实现typesafe enum pattern?public class TestStatus {[Column("Id")]public int Id { get; private set; }[Column("Description")]public string Description { get; private set; }[Column("LongDescription")]public string LongDescription { get; private set; }private TestStatus(int id, string description, string longDescription){Id = id;Description = description;LongDescription = longD...

C# 给枚举定义DescriptionAttribute,把枚举转换为键值对【代码】

原文链接:http://www.cnblogs.com/jm6041/p/3957712.html在C#中,枚举用来定状态值很方便,例如我定义一个叫做Season的枚举public enum Season{Spring = 1,Summer = 2,Autumn = 3,Winter = 4}枚举名是不能出现空格,()-/等字符 我们想把Spring显示为春天,我们要自己定义说明信息,我们可以使用DescriptionAttribute,如下public enum Season{[Description("春 天")]Spring = 1,[Description("夏 天")]Summer = 2,//[Description("...

c# – 将IEnumerable转换为List的Lambda扩展方法【代码】

我需要一种方法来创建一个IEnumerable的扩展方法,这将允许我返回一个SelectListItem的列表. 例如public class Role{public string Name {get;set;}public string RoleUID {get;set;}}IEnumerable<Role> Roles = .../*Get Roles From Database*/var selectItemList = Roles.ToSelectItemList(p => p.RoleUID,r => r.Name);这会给我一个SelectItemList,其中Name是显示,RoleUID是值. 重要事项我希望这是通用的,因此我可以使用对象的任...

c# – CheckBoxList for Enum类型MVC Razor【代码】

在我的c#.net MVC应用程序中,我想显示Enum类型的复选框列表. 我有一个枚举类型[Flags] public enum ModeType { Undefined = 0, Read= 1, Edit= 2}我的模特是Public TrainingModel{public int UserID {get;set;}public ModeType Type {get;set}}在我看来,我需要两个复选框用于读取,另一个用于编辑所以我试过了@Html.CheckBoxFor(m => m.Type== ModeType.Read) @Html.CheckBoxFor(m => m.Type== ModeType.Edit)但这给了我错误“模板只...

C# 8中使用IAsyncEnumerable<T>和IAsyncEnumerator<T>,来实现异步迭代(链接)

首先,我们需要知道为什么我们要使用IAsyncEnumerable<T>和IAsyncEnumerator<T>来实现异步迭代,它有什么好处?可以参考下面这篇文章: IAsyncEnumerable In C# 8 其次,关于异步迭代的实现原理和细节,可以参考下面这篇文章: Iterating with Async Enumerables in C# 8 下面是关于IAsyncEnumerable<T>和IAsyncEnumerator<T>接口的微软官方文档:Interface' rel='nofollow' target='_blank'>IAsyncEnumerable InterfaceInterf...