【发布时间】:2014-02-27 01:37:11
【问题描述】:
我只是想将名为“name”的数据表的第一个列与数组中的项目进行比较。它们可以是数据表中同名的多行。在比较了数组中的所有项目之后,它应该删除不在数据表中的行。输出结果可以是数据表本身或列表数组(首选这个),但这应该保留数据表中的所有列。可能想使用 linq 查询。
代码:
DataTable dt = new DataTable("TestTable");
dt.Columns.Add(new DataColumn("email",System.Type.GetType("System.String")));
dt.Columns.Add(new DataColumn("type",System.Type.GetType("System.String")));
dt.Columns.Add(new DataColumn("card",System.Type.GetType("System.String")));
ArrayList al = new ArrayList();
al.Add("one@mail.com");
al.Add("two@mail.com");
al.Add("nine@mail.com");
al.Add("ten@mail.com");
DataRow r1 = dt.NewRow(); r1["email"] = "one@mail.com"; //addtype+card// dt.Rows.Add(r1);
DataRow r2 = dt.NewRow(); r2["email"] = "one@mail.com"; //addtype+card// dt.Rows.Add(r2);
DataRow r3 = dt.NewRow(); r3["email"] = "two@mail.com"; //addtype+card// dt.Rows.Add(r3);
DataRow r4 = dt.NewRow(); r4["email"] = "four@mail.com"; //addtype+card// dt.Rows.Add(r4);
DataRow r5 = dt.NewRow(); r5["email"] = "five@mail.com"; //addtype+card// dt.Rows.Add(r5);
所以从上面的行 r4 和 r5 将从数据表中删除。
【问题讨论】:
-
有什么理由在 2014 年使用
ArrayList而不是List<string>吗? -
没有任何特殊原因,只是旧代码