我有一个DataSet
包含多个DataTable
,我想获取表名并将它们显示在组合框中。下面的代码运行良好,但我如何将此代码转换为LINQ
.
foreach (DataTable dt in objDataset.Tables)
{
cboTables.Items.Add(dt.TableName);
}
这里objDataset
是DataSet
,'cboTables' 是ComboBox
WPF
cboTables.Items.AddRange(objDataset.Tables.Cast<DataTable>().Select(iter => iter.TableName));
试试这个 :
cboTables.ItemsSource = objDataset.Tables.OfType<DataTable>().Select(dt => dt.TableName);
可能是这个作品。试一下。
objDataset.Tables.ToList<DataTable>().ForEach( dt => { cboTables.Items.Add(dt.TableName) });
这是一种使用方式ForEach
,但我不建议仅使用 LINQ 来使用它,因为您必须使用以下方式转换您的集合ToList
:
objDataset.Tables.ToList().ForEach(t => cboTables.Items.Add(t.TableName));
为什么甚至使用 foreach 只是做一个选择并将其设置为 ComboBox 的 ItemsSource。
cboTables.ItemsSource = objDataSet.Tables.OfType().Select(dt => dt.TableName);