C#中将DataTable或List中的某一列数据转化为Array

今天同事在优化自己代码的时候,提了这样一个问题:如何把List中某一个字段的值转化为Array ?

之前对于List转Array经常用到场景如下:

List<string> str= new List<string>();

string[] strarray = str.ToArray();

那么如何把List中的某字段数据列转化为Array呢?

思路如下:首先我们要将List中的这列数据查出来,然后再进行Array的转换操作。

//初始化实体类模型
public calss Model()
{
    public string Id {get;set;}
    public string Name {get;set;}
}

//初始化集合
List<Model> models = new List<Model>();

//将models中的Name列转化Array
string[] namearray = models.Select(t=>t.Name).ToArray();

延申一:如何把DataTable中的某一列数据转化为Array呢?

//获取数据
DataTable datatable = 数据源 ;

//将datatable中的Name列转化Array
string [] namearray = datatable.AsEnumerable().Select(d => d.Field<string>("Name")).ToArray();

延申二:Array去重

namearray = namearray.Distinct().ToArray();
THE END