gpt4 book ai didi

c# - 使用 LINQ 仅返回包含多个 DataTable 的 DataSet 中的两个特定 DataTable

转载 作者:行者123 更新时间:2023-12-02 07:44:53 25 4
gpt4 key购买 nike

如何使用 LINQ 返回包含多个 DataTable 的 DataSet 中的两个特定 DataTable?例如,在下面的代码片段中,是否可以在 foreach 语句中将 LINQ 添加到 myDS.Tables 中?

如果可能的话,我想删除 if 语句。

 DataTable myTable1 = new DataTable("MyTable1");
DataTable myTable2 = new DataTable("MyTable2");
DataTable myTable3 = new DataTable("MyTable3");
DataSet myDS = new DataSet();
myDS.Tables.Add(myTable1);
myDS.Tables.Add(myTable2);
myDS.Tables.Add(myTable3);

foreach (DataTable table in myDS.Tables)
{
if (table.TableName != "MyTable1" && table.TableName != "MyTable2")
{
continue;
}
Console.WriteLine();
Console.WriteLine("Table Name = " + table.TableName);
}

最佳答案

您可以通过使用 IEnumerableCast 函数来使用 linq,然后使用过滤器函数 Where 来获取结果。< br/>您的 if 语句应该成为Where 函数的谓词。

  var tables = myDS.Tables.Cast<DataTable>()
.Where(t=> t.TableName == "MyTable1" || t.TableName == "MyTable2");

关于c# - 使用 LINQ 仅返回包含多个 DataTable 的 DataSet 中的两个特定 DataTable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50705278/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com