日期:2014-05-19  浏览次数:20527 次

变量作用域的简单问题,有结果就结贴
public   string   sum_value(string   section_name,   DataTable   dt)
        {
                double   str_sum;
                for   (int   i   =   0;   i   <   dt.Rows.Count;   i++)
                {
                        if   (dt.Rows[i][0].ToString()   ==   section_name)
                        {
                              str_sum+=Convert.ToDouble(dt.Rows[i][3]);
                        }
                }
                return   str_sum.ToString( "f2 ");
        }
我定义的str_sum在运行时怎么报错误
32 使用了未赋值的局部变量“str_sum” 我应该怎么定义呀?

------解决方案--------------------
double str_sum = 0;
------解决方案--------------------
public string sum_value(string section_name, DataTable dt)
{
double str_sum = 0;
//必须定义初值的原因是 编译器可以认为你的循环条件未必满足,这样str_num就未赋值
for (int i = 0; i < dt.Rows.Count; i++)
{
if (dt.Rows[i][0].ToString() == section_name)
{
str_sum+=Convert.ToDouble(dt.Rows[i][3]);
}
}
return str_sum.ToString( "f2 ");
}