日期:2014-05-17 浏览次数:21128 次
static void Main(string[] args)
{
DataTable mytable=new DataTable();
mytable.Columns.Add("str",typeof(string));
mytable.Columns.Add("in",typeof(int));
mytable.Columns.Add("str2",typeof(string));
mytable.Columns.Add("in2",typeof(int));
for(int i=0;i<4;i++)
{
DataRow myrow=mytable.NewRow();
myrow["str"]="AAAA";
myrow["in"]=10;
myrow["str2"]="row"+i.ToString();
myrow["in2"]=i;
mytable.Rows.Add(myrow);
}
DataTable my = fun(mytable);
foreach (var a in my.AsEnumerable())
{
foreach (var b in a.ItemArray)
{
Console.Write("{0} ", b.ToString());
}
Console.WriteLine();
}
}
public static DataTable fun(DataTable mytable)
{
for (int i = 0; i < mytable.Rows.Count; i++)
{
for (int j = i + 1; j < mytable.Rows.Count; j++)
{
if (mytable.Rows[i]["str"].ToString() == mytable.Rows[j]["str"].ToString() && mytable.Rows[i]["in"].ToString() == mytable.Rows[j]["in"].ToString())
{
mytable.Rows[i]["str2"] = mytable.Rows[i]["str2"].ToString() + mytable.Rows[j]["str2"].ToString();
mytable.Rows[i]["in2"] = Convert.ToInt32(mytable.Rows[i]["in2"]) + Convert.ToInt32(mytable.Rows[j]["in2"]);
mytable.Rows[j].Delete();
j--;
}
}
}
return mytable;
}
------解决方案--------------------