当试图获取数据表列列表时

本文关键字:列表 数据表 获取 | 更新日期: 2023-09-27 18:04:34

我正试图获得我的DataTable列的列表。当我运行程序时,DataTable包含行和列,所以它不是null。这是我正在使用的LINQ:

List<string> columnNames = dt.Columns.Cast<DataColumn>().
                                  Select(column => column.ColumnName).ToList();

,我收到以下ArgumentOutOfRangeException:

StartIndex不能小于0。

堆栈跟踪:

   at System.String.Remove(Int32 startIndex)
   at Prospect.DataHelper.WriteDatatableToCsv(DataTable dt, String path, String fileName, String delimeter) in c:'xxxxxxxxxx'DataHelper.cs:line 400
   at Prospect.Contacts.<>c__DisplayClass21.<btnWrite_Click>b__20() in c:'xxxxxxxxxxx'Contacts.cs:line 684
   at System.Threading.Tasks.Task.Execute()

当试图获取数据表列列表时

对不起,我不是很擅长LINQ,但你为什么不试试这个:

Console.WriteLine("My table has: " + dt.Columns.Count + " columns.");  //just for testing
List<string> columnNames = new List<string>();
foreach (DataColumn column in dt.Columns)
{
    columnNames.Add(column.ColumnName);
}