日期:2014-05-20  浏览次数:21082 次

C#里面有枚举类吗??
比如定义一个表:

enum Student {
Name, Grade, Class;
}


存入数据

EnumMap student1 = new EnumMap(Student.class);
student1.put(Student.Name, "王二弟");
student1.put(Student.Grade, 1);
student1.put(Student.Class, 7);


就和结构体差不多,但是比结构体好用,它是集合类,可以放到List里面。
------解决方案--------------------
没有,你是想要这个答案吗?

给分吧。
------解决方案--------------------
再复杂的表结构都能定义一个结构体,把标数据往里面塞,用起来很方便。

喜欢面向过程编程的童鞋可以试试看。不用再定义什么POCO Objects啦。

------解决方案--------------------
鸟蛋王终于找到了一个java有而C#没有的的特性。可喜可贺,再接再励!
------解决方案--------------------
取数据也很简单:

student1.get(Student.Name)


比ORM更像ORM。
------解决方案--------------------
引用:
鸟蛋王终于找到了一个java有而C#没有的的特性。可喜可贺,再接再励!

哪个鸟蛋说我补贴代码来着?我这不发技术帖了吗
------解决方案--------------------
楼主,你个2 13
拿枚举当结构体来用存储数据据
你怎么不拿结构体来当枚举用,枚举一下一周有几天?
闲的蛋疼是不,那就割掉
如此一来倒是可以这样“来枚举”一下你个2 13的性别:


enum Gender{
    男,女,不男不女
}


EnumMap 2B= new EnumMap(Gender.class);
student1.put(Gender.男, "张三");
student1.put(Gender.女, "李四");
student1.put(Gender.不男不女, "okgoood");

------解决方案--------------------
c#中有对象初始化器和集合初始化器来快速初始化一个类的对象和集合,
哪还需要像你个 2 13写的那样如此 麻烦一句句的  put 来付值:

//C#对象初始化器
var stu=new Student{ Name="2b鸟蛋王", Gender="不男不女"};  

//C#集合初始化器
var list=new List<Student>
{
  new Student{ Name="2b鸟蛋王", Gender="不男不女"},
  new Student{ Name="2b鸟蛋王1", Gender="不男不女"},
  new Student{ Name="2b鸟蛋王2", Gender="不男不女"},
};  



class Student
{
  public string Name{get;set;}
  public string Gender{get;set;} 
}

------解决方案--------------------
让爷来给你科普一下 枚举  的定义:


在数学和计算机科学理论中,一个集的枚举是列出某些有穷序列集的所有成员的程序,或者是一种特定类型对象的计数。这两种类型经常(但不总是)重叠。
 

枚举是一个被命名的整型常数的集合,枚举在日常生活中很常见。 例如表示星期的SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY,就是一个枚举。


------解决方案--------------------
粗鲁的人,咱不与他讨论,他跟本不理解Java的枚举。
------解决方案--------------------
LZ太牛了,我现在就学java去....,今生今世献身java
------解决方案--------------------
引用:
粗鲁的人,咱不与他讨论,他跟本不理解Java的枚举。

我笑,无话可说了吧

如果你真正理解JAVA的枚举,就不会写出如此 2 13的代码:

2B, 你这么写,想到  类型安全了么,  或许对于你这样的码畜根本就不知道什么叫  类型安全

还是滚回家去好好学学JAVA 再来.NET 区撒野吧

EnumMap student1 = new EnumMap(Student.class);
student1.put(Student.Name, "王二弟");
student1.put(Student.Grade, 1);