慎用 Enum.GetHashCode()】的更多相关文章

公司里遗留下了相当多的 Enum.GetHashCode()来获取枚举值的代码 但是这会产生装箱行为的!!因为Enum是值类型,GetHashCode()是Object的方法,调用GetHashCode必定要装箱成Object类型才能调用 同理:Enum.ToString()也会装箱 用 Enum.GetName( typeof (Color), color);//推荐 namespace EnumBoxTest{ class Program { enum Color { None=0, Red…
先说一下,正常如果代码可以定义成枚举,我是比较倾向于定义成枚举的,类似这样: public enum Gender { /// <summary> /// 男 /// </summary> [Description("男")] Male = 1, /// <summary> /// 女 /// </summary> [Description("女")] Female = 2, /// <summary> /…
这几天一直在测试一个类似于传奇的2d界面游戏,目前做的测试为: 人物动作响应,主要是8方向的判断和资源文件精灵的刷新. 学到的知识点: 1,Enum.GetHashCode() 可以得到这个枚举的索引值, 这里主要,可以把枚举写在大class的前面,class里面实例化自身,然后就可以设置这个枚举值. 例如: using System;using System.Collections;using System.Collections.Generic;using UnityEngine;publi…
一个应用系统,如果程序里没有任何enum的使用,我认为它的可读性是有待商榷的. 求枚举里的最大/最小枚举值, 其实是对Array进行操作: enum EnumTest { ddd = , eee } var arr1 = Enum.GetValues(typeof(EnumTest)); //返回值是一个Arrayarr1.Length //枚举项个数 arr1.GetValue(arr1.GetLowerBound()).GetHashCode() //求最小值,即2 arr1.GetValu…
首先定义枚举类型,如下: /// <summary> /// 板块 /// </summary> public enum Plate {         [Description("所有市场")]         All = ,         [Description("沪深300")]         HS300 = ,         [Description("创业板")]         CYB = ,    …
MVC图片上传详解   MVC图片上传--控制器方法 新建一个控制器命名为File,定义一个Img方法 [HttpPost]public ActionResult Img(HttpPostedFileBase shangchuan){string path = @"\upload\" + DateTime.Now.ToFileTime() + ".jpg";Session["path"] = path;string save = Server.M…
C#中自定义enum,然后将其作为Dictionary的Key,通常的做法如下: using System; using System.Text; using System.Collections.Generic; namespace ConsoleApplication1 { enum ClothType { Hair, Coat, Shoes, } class Cloth { } class Program { static void Main(string[] args) { Dictio…
1.使用扩展方法使用枚举值对于的Description属性值 public static class EnumExtenstion { public static string GetDescriptionName(this Enum enumValue) { object[] attr = enumValue.GetType().GetField(enumValue.ToString()) .GetCustomAttributes(typeof(DescriptionAttribute), f…
工作中 经常遇到枚举 的一些转换  特别是获取枚举备注等  特地整理下 方法以后使用 public void TestMethod1() { TestEnumOne colorEnum = TestEnumOne.Red; int colorValue = 0x0000FF; string colorStr = "Red"; string colorDes = "红色"; //枚举To枚举字符串 colorStr = colorEnum.ToString(); co…
//: Playground - noun: a place where people can play import UIKit var str = "Hello, playground" enum Movement { case Left case Right case Top case Bottom } let aMovement = Movement.Left switch aMovement { case .Left: print("left") defa…