已知 DataRow[] ucDataRow 中有100条数据 ,列为 ID ,NAME ,AGE,检查项,检查结果,诊断, 但是其中每一个检查项单独在ucDataRow中都是单独的一条 ,ID是相同,怎么把相同ID的人筛选出来呢
[TestMethod]
public void TestMethod1()
{
// 假设有一个名为ucDataRow的DataRow数组
DataRow[] ucDataRow = GetSampleData(); // 获取示例数据
// 使用GroupBy将相同ID的人分组
IEnumerable<IGrouping<object, DataRow>> groupedRows = ucDataRow.GroupBy(row => row["ID"]);
// 打印筛选结果
Console.WriteLine("相同ID的人:");
foreach (IGrouping<object, DataRow> group in groupedRows)
{
Console.WriteLine($"ID: {group.Key}");
foreach (DataRow row in group)
{
Console.WriteLine($"Name: {row["Name"]}, Age: {row["Age"]}, 检查项: {row["检查项"]}, 检查结果: {row["检查结果"]}, 诊断: {row["诊断"]}");
}
Console.WriteLine();
}
}
// 获取示例数据
static DataRow[] GetSampleData()
{
DataTable dataTable = new DataTable();
dataTable.Columns.Add("ID");
dataTable.Columns.Add("Name");
dataTable.Columns.Add("Age");
dataTable.Columns.Add("检查项");
dataTable.Columns.Add("检查结果");
dataTable.Columns.Add("诊断");
// 添加示例行数据
dataTable.Rows.Add("123", "John", "30", "检查项1", "结果1", "诊断1");
dataTable.Rows.Add("456", "Alice", "25", "检查项2", "结果2", "诊断2");
dataTable.Rows.Add("123", "Bob", "35", "检查项3", "结果3", "诊断3");
dataTable.Rows.Add("789", "David", "40", "检查项4", "结果4", "诊断4");
dataTable.Rows.Add("123", "Sarah", "28", "检查项5", "结果5", "诊断5");
return dataTable.Select();
}