datatable中使用linq DBNull.Value
using System.Data;
class Program
{
static void Main()
{
DataTable dataTable = CreateFakeDataTable();
List<string> idList = dataTable.AsEnumerable().Where(row => row["id"] != DBNull.Value).Select(row => row["id"].ToString() ?? string.Empty).ToList();
System.Console.WriteLine(string.Join(",", idList));
}
static DataTable CreateFakeDataTable()
{
// 创建一个新的 DataTable
DataTable dataTable = new DataTable();
// 添加 id 列
dataTable.Columns.Add("id", typeof(int));
// 添加一些模拟数据
dataTable.Rows.Add(1);
dataTable.Rows.Add(2);
dataTable.Rows.Add(DBNull.Value); // 模拟一个空值
dataTable.Rows.Add(4);
dataTable.Rows.Add(5);
dataTable.Rows.Add(6);
dataTable.Rows.Add(7);
dataTable.Rows.Add(8);
dataTable.Rows.Add(9);
dataTable.Rows.Add(10);
return dataTable;
}
}