Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/316.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将datatable中的所有列转换为字符串列表_C#_Linq - Fatal编程技术网

C# 将datatable中的所有列转换为字符串列表

C# 将datatable中的所有列转换为字符串列表,c#,linq,C#,Linq,我想将数据表的列转换为字符串列表 我在stackoverflow上找到了很多链接,但这不符合我的要求 我尝试了几个选择 List<string> lstColumnList1 = dtAllRows.Columns.Cast<string>().ToList();3 List<string> lstColumnList = dtAllRows.AsEnumerable().Select(x => x[0].ToString()).ToList();

我想将数据表的列转换为字符串列表

我在stackoverflow上找到了很多链接,但这不符合我的要求

我尝试了几个选择

List<string> lstColumnList1 = dtAllRows.Columns.Cast<string>().ToList();3
List<string> lstColumnList =  dtAllRows.AsEnumerable().Select(x => x[0].ToString()).ToList();
List lstColumnList1=dtAllRows.Columns.Cast().ToList();3.
List lstColumnList=dtAllRows.AsEnumerable().Select(x=>x[0].ToString()).ToList();
我不想运行列循环 但是没有起作用。请帮助。

获取列名

var columns = table.Columns
                   .Cast<DataColumn>()
                   .Select(x => x.ColumnName)
                   .ToList();
var columns=table.columns
.Cast()
.选择(x=>x.ColumnName)
.ToList();
如果您是指第一列的值,请使用

var rowValues = table.AsEnumerable()
                     .Select(x => x.Field<string>("YourColumn"))
                     .ToList();
var rowValues=table.AsEnumerable()
.选择(x=>x.Field(“YourColumn”))
.ToList();
试试这个:

var columnsList = dtAllRows.AsEnumerable()
                  .SelectMany(row=>dtAllRows.Columns.Cast<DataColumn>()
                                            .Select(col=>Convert.ToString(row[col])))
                  .ToList();
//Example:
//A1   B1
//A2   B2
//-> List<string> {"A1","B1","A2","B2"}
var columnsList=dtAllRows.AsEnumerable()
.SelectMany(row=>dtAllRows.Columns.Cast()
.Select(col=>Convert.ToString(行[col]))
.ToList();
//例如:
//A1 B1
//A2 B2
//->列表{“A1”、“B1”、“A2”、“B2”}

您的意思是将datatable的所有列转换为字符串列表?您甚至需要
.Cast
.Columns
已键入,因此我认为不需要。@Tobberoth它是必需的。IIRC它没有实现
IEnumerable
它只是实现了非泛型
IEnumerable
@MAkela你让这里的人很困惑。您的问题标题是转换datatable的所有列,但转换一列也适用于您???@SriramSakthivel OP explain all的下一票。您是从OP收到此评论的答疑人。很好,谢谢:),因此您可以对他感到高兴。@KingKing我不确定我的回答中哪一部分对OP有帮助。我还不确定。我的回答基于OP的尝试
dtAllRows.Columns.Cast().ToList()
dtAllRows.AsEnumerable().Select(x=>x[0].ToString())
。你可以说出你的观点、批评等,但为什么要大胆?没有勇气,任何人也能理解。这也是我的观点。你可以接受,也可以不接受。并不是说我得到了OP的赏识,所以我支持OP。我是说一般的。