foreach (IGrouping<string, DataRow> apcrows in apcResult) { if (apcrows.ToArray().CopyToDataTable().Rows[0]["PMName"].ToString()==pm) { apctable = apcrows.ToArray().CopyToDataTable(); break; } 请简化以上代码 }
时间: 2024-02-10 09:17:33 浏览: 109
DataRow 传换成 DataTable
以下是代码的简化版本:
```
apctable = apcResult.FirstOrDefault(x => x.ToArray().CopyToDataTable().Rows[0]["PMName"].ToString() == pm)?.ToArray().CopyToDataTable();
```
这里使用了 `FirstOrDefault()` 方法来查找符合条件的第一个 `IGrouping`。如果找到了,那么就使用 `ToArray()` 方法将其转换为 `DataRow[]` 数组,然后使用 `CopyToDataTable()` 方法将其转换为 `DataTable` 对象并赋值给 `apctable` 变量。如果没找到,则返回 `null`,此时使用 null 条件运算符 `?.` 来避免空引用异常。
阅读全文