DataRow[] 一个简单的筛选案例 ,没啥技术难度有手就行。

    已知 DataRow[] ucDataRow 中有100条数据 ,列为 ID ,NAME ,AGE,检查项,检查结果,诊断, 但是其中每一个检查项单独在ucDataRow中都是单独的一条 ,ID是相同,怎么把相同ID的人筛选出来呢

  [TestMethod]
        public void TestMethod1()
        {

            // 假设有一个名为ucDataRow的DataRow数组
            DataRow[] ucDataRow = GetSampleData(); // 获取示例数据

            // 使用GroupBy将相同ID的人分组
            IEnumerable> groupedRows = ucDataRow.GroupBy(row => row["ID"]);

            // 打印筛选结果
            Console.WriteLine("相同ID的人:");
            foreach (IGrouping 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();
        }

你可能感兴趣的:(winform,c#)