原始数据表
核心代码块
foreach(DataRow row in 成绩表.Rows){
//非空判断,语文为例,其他类似
try{
//第一种以前常用的方法
//row["语文"]=row["语文"].ToString().Trim().Length==0?"0":row["语文"].ToString();
//第二种方法
row["语文"]=Convert.IsDBNull(row["语文"])?"0":row["语文"].ToString();
}catch(Exception e){
Console.WriteLine(e.Message);
}
row["总分"]=Convert.ToDouble(row["语文"].ToString())+Convert.ToDouble(row["数学"].ToString())+Convert.ToDouble(row["英语"].ToString())+Convert.ToDouble(row["体育"].ToString());
row["平均分"]=Convert.ToDouble(row["总分"].ToString())/4;
Console.WriteLine(row["平均分"].GetType());
}
//原有数据类型;上面计算把总分和平均分转为了double类型
DataTable newdt=new DataTable();
newdt=成绩表.Copy();//clone和copy不同;