我试图在方法中使用out
关键字返回一个字符串,并在另一个方法中使用方法和out的返回结果。但是,即使我看到它在调试过程中设置了变量StringD,但是当Method1开始时,StringA会变为空白。
我希望当它将StringD设置为"测试"在Method2中,它将被传递回main以立即在Method1中使用,因此它可以在两行中完成。这是C#中的意图还是错误?我需要用4行代替吗?
我已经列出了辅助主要部分,它将它变成了四行,我测试了它并且确实将StringD设置为"测试"
在我的主要
String StringD = "";
Method1(StringD, Method2(out StringD, ""));
Secondary Main(这个有效,但我更喜欢使用第一个)
String StringD = "";
Boolean BoolC = false;
BoolC = Method2(out StringD, "");
Method1(StringD, BoolC);
我的方法
private void Method1(String StringA, Boolean BoolA)
{
String StringE = "";
Boolean BoolB = false;
StringE = StringA;
BoolB = BoolA;
}
private Boolean Method2(out String StringB, String StringC)
{
StringB = "";
if (StringC == "")
{
StringB = "Test";
return true;
}
else
{
return false;
}
}
答案 0 :(得分:1)
您可以在Method1
private void Method1(Boolean BoolA, String StringA)
{
String StringE = "";
Boolean BoolB = false;
StringE = StringA;
BoolB = BoolA;
}
然后这样称呼:
Method1(Method2(out StringD, ""), StringD);
这样在Method2
传递给方法之前调用StringD
。