2011-02-12 116 views
0

有什么办法可以得到一些C#上的所有Sql数据类型的列表?如何获得c#上所有SQl数据类型的列表?

我知道我们有一个名为SQlDbType的Enum,它包含所有的Sql数据类型,但我们可以将Enum转换为一个字符串数组吗?

我只想得到一些所有Sql数据类型的列表,而不是一个接一个写入它们并将它们添加到我的字符串数组中。

+0

[Convert Enum to String](http://stackoverflow.com/q uestions/483794 /转换,枚举到字符串) – Cheeso 2011-02-12 11:43:11

回答

5

枚举到字符串数组是很容易的:

var names = Array.ConvertAll((SqlDbType[]) Enum.GetValues(typeof(SqlDbType)), 
          type => type.ToString()); 

或使用LINQ:

var names = Enum.GetValues(typeof(SqlDbType)) 
       .Cast<SqlDbType>() 
       .Select(x => x.ToString()) 
       .ToArray(); 

或者更愉快使用我Unconstrained Melody库,无论是作为一个数组或(更有效)的不可变列表:

string[] names = Enums.GetNamesArray<SqlDbType>(); 

IList<string> namesList = Enums.GetNames<SqlDbType>(); 
相关问题