如何获取c#上所有SQl数据类型的列表?

时间:2011-02-12 11:37:30

标签: c# sql tsql

有没有办法在c#上获取所有Sql数据类型的列表?

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

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

1 个答案:

答案 0 :(得分: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>();