ref类型,StringBuilder

时间:2012-03-09 22:56:07

标签: c#

在读取输入文件后,我要打印一个字符串errMsg。验证完成后,如果success==false调用方法PrintErrorMessage(string)

//Validations 
//First Validation: checks the value of input string realization. 
success = Numerical.Check("Realizations", inputs.realizations.ToString(), out ltester, out errMsg);
sb.AppendLine(errMsg);

//Second Validation: checks the value of the input string diameter.
success = Numerical.Check("Pipe Outside Diameter", inputs.pipeOD.ToString(), out dtester, out errMsg);
sb.AppendLine(errMsg); 
if (!success)
{
    PrintErrorMessage(success, errTitle, sb.ToString());
}

以下是我打印错误的方法:

Streamwriter swpt = new Streamwriter(....);
private void PrintErrorMessage(bool success, string errTitle, string errMsg)
{
    if (!success)
    {
        swRpt.WriteLine(errTitle + errMsg);
    }
}

问题是:在每次验证后的每个步骤中,我都可以使用ref类型并将其传递到StringBuilder函数并将其附加到那里吗?

2 个答案:

答案 0 :(得分:5)

  

在每次验证后,不是在每个everystep上附加stringbuilder,我可以使用ref类型并将其传递给PrintErrorMessage函数并将其附加到那里

你可以在没有 ref的情况下传递并附加到它。 StringBuilder是引用类型

答案 1 :(得分:3)

不确定。你甚至不需要声明'ref'类型参数 - 因为StringBuilder本身就是一个引用类型,它会被ref自动传递。