在datatable中搜索特定值

时间:2010-12-19 09:52:01

标签: c# datatable

我有两个数据表,我的基本需求是知道数据表中的值是否存在于另一个数据表中。

我的第一个数据表将包含这样的数据(id,name,unit) 第二个像这样(id,value)。 值可能是这样的 第一个1-A-b,2-B-c,3-X-d 和第二个1-2,3,5。这里1和3是exsting.How如何使用id找到相应的值。

1 个答案:

答案 0 :(得分:0)

这应该有用;

        var table = new DataTable();

        table.Columns.Add("id", typeof(int));
        table.Columns.Add("name");
        table.Columns.Add("unit");

        var table2 = new DataTable();
        table2.Columns.Add("id", typeof(int));
        table2.Columns.Add("value");

        table.Rows.Add(1, "a Name", "a Unit");
        table.Rows.Add(2, "other", "other");

        table2.Rows.Add(1, "value");
        table2.Rows.Add(4, "other");

        var result = table.AsEnumerable().Join(table2.AsEnumerable(), r1 => r1.Field<int>("id"), r2 => r2.Field<int>("id"),
                                  (r1, r2) => new {Id = r1.Field<int>("id"), Value = r2.Field<string>("value") }).ToList();

        foreach (var r in result)
            Console.WriteLine(r.Id + "|"+ r.Value);