请教一个简单的传值问题,请老师们指导
public static DataTable calculate(DataTable dt_Source)
{
//这里有部分代码按照一定条件删除dt_Source中部分行
.....
.....
.....
return dt_Result
}
private void button1_Click(object sender, EventArgs e)
{
DataTable dt_Source = Csv(" + csvpath + ");//将csv文件导入datatable
//这里有代码输出显示dt_Source
DataTable dt_Result = calculate(dt_Source);
//这里有代码输出显示dt_source
//但这里显示的dt_source是经过删除的了,现在的问题是怎么
//让dt_Source传入calculate修改之后不影响原值?我现在的方法是建立一个dt_temp在传入之前保存
//原值,之后再dt_Source.clear();dt_Source = dt_temp.copy();但这样效率很低。
}
[解决办法]
新建个DataTable。把计算结果放进去。不用动原来的datasource
[解决办法]
保存原值是必须的,但你可以直接在最后
dt_Source = dt_temp;就可以了
[解决办法]
。。。DataTable传递的是引用,所以值会变。。迷糊了悲剧