我有这个DataTAble
public void FillComboBox()
{
cbox_order.Items.Add("Code").ToString();
cbox_order.Items.Add("Model").ToString();
cbox_order.Items.Add("Itemdescription").ToString();
}
如何转换此DataTable以获得这样的列表
DataTable dt = new DataTable();
dt.Columns.Add("A");
dt.Columns.Add("B");
dt.Rows.Add("1", "5");
dt.Rows.Add("6", "10");
dt.Rows.Add("11", "15");
答案 0 :(得分:3)
使用SelectMany
:
List<string> dtList= dt.AsEnumerable()
.SelectMany(r=> new[]{ r.Field<string>("A"), r.Field<string>("B") })
.ToList();
答案 1 :(得分:2)
先由DataRow[]
转换为Select
,然后由SelectMany
转换为对象数组。最后,将每个值object
转换为string
var list = dt.Select().SelectMany(row => row.ItemArray).Select(x=> (string)x).ToList()
答案 2 :(得分:2)
尝试一下:
DataTable dt = new DataTable();
dt.Columns.Add("A");
dt.Columns.Add("B");
dt.Rows.Add("1", "5");
dt.Rows.Add("6", "10");
dt.Rows.Add("11", "15");
var output = dt.Rows.Cast<DataRow>().SelectMany(x => new[] { x[0], x[1] }).ToList();
编辑:添加了.ToList();