C#中的枚举怎么使用

C#中的枚举怎么使用,第1张

枚举类型是一种的值类型,它用于声明一组命名的常数。

(1)枚举的声明:枚举声明用于声明新的枚举类型。

访问修辞符 enum 枚举名:基础类型

{

枚举成员

}

基础类型必须能够表示该枚举中定义的所有枚举数值。枚举声明可以显式地声明 byte、sbyte、short、ushort、int、uint、long 或 ulong 类型作为对应的基础类型。没有显式地声明基础类型的枚举声明意味着所对应的基础类型是 int。

(2)枚举成员

枚举成员是该枚举类型的命名常数。任意两个枚举成员不能具有相同的名称。每个枚举成员均具有相关联的常数值。此值的类型就是枚举的基础类型。每个枚举成员的常数值必须在该枚举的基础类型的范围之内。 示例:

public enum TimeofDay:uint

{

Morning=-3,

Afternoon=-2,

Evening=-1

}

产生编译时错误,原因是常数值 -1、-2 和 –3 不在基础整型 uint 的范围内。

(3)枚举成员默认值

在枚举类型中声明的第一个枚举成员它的默值为零。

以后的枚举成员值是将前一个枚举成员(按照文本顺序)的值加 1 得到的。这样增加后的值必须在该基础类型可表示的值的范围内;否则,会出现编译时错误。

DatabaseType d1 = (DatabaseType)EnumParse(typeof(DatabaseType), "MSSQL", true);

DatabaseType d2 = (DatabaseType)EnumParse(typeof(DatabaseType), "0", true);

结果 d1=DatabaseTypeMSSQL;

d2=DatabaseTypeUnDefined;

一般这类的问题解决是这样的:

public enum E_State//状态枚举

{

eNew = 1, //新建

eUpdate = 2, //修改

eCancel = 4 //作废

}

然后,3自然代表eNew + eUpdate

5自然代表eNew + eCancel

7代表eNew + eUpdate + eCancel

比如select((int)E_StateeNew + (int)E_StateeCancel);

你在Select函数里面分析总数就行了

一, 从controller往视图传递值,controller---->视图

 

1)简单类型,如int, String,直接写在controller方法的参数里,是无法传递到视图页面上的(经测试)。

 

(而用@RequestParam("name")注解,可以从视图上,或地址中加name=传递到controller方法里)

 

2)可以用Map<String, Object>,其键值可以在页面上用EL表达式${键值名}得到,

 

3)也可以用Model类对象来传递,有addAttribute(key, value)方法,其键值可以在页面上用EL表达式${键值名}得到,

 

如果用addAttribute(value)这个方法,会将类型名的首字母改成小写后,作为键值名传递过去,例如"ok"在页面上用${string}得到,而一个复合类对象,如User类对象,页面上用${user}得到该对象,用${userpropertyName}得到其属性,这是用Model的一大优势。

例如,modeladdAttribute(new User("my姓名","我的爱好有游泳打球"));

这样页面上就能用${username}和${userhobby}打印对应属性

 

     @RequestMapping(value={"/","/hello"})

     public String hello(int id,Map<String,Object> map) {

          Systemoutprintln(id);

          Systemoutprintln("hello");

          mapput("hello", "world");

          return "hello";

     }

   

     @RequestMapping(value="/say")

     public String say(@RequestParam int id,Model model) {

          Systemoutprintln("say");

          modeladdAttribute("hello", "value");

          //使用Object的类型作为key,String-->string

          modeladdAttribute("ok");

          return "hello";

     } >

public class Kyo

{

enum COLOR

{

RED, BLUE, GREEN

}

private static COLOR setColor(COLOR color)

{

return color = COLORBLUE;

}

public static void main(String[] args)

{

COLOR color = COLORRED;

color = setColor(color);

Systemoutprintln(color);

}

}

以上就是关于C#中的枚举怎么使用全部的内容,包括:C#中的枚举怎么使用、c# 大家是如何处理根据字符串来获取枚举值的、C# 枚举参数的问题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9499064.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-29
下一篇2023-04-29

发表评论

登录后才能评论

评论列表(0条)

    保存