这里我试图从方法MapFinder()
返回一个字符串,并使用从该方法返回的字符串在MapTracker()
中的另一个条件中使用。
public String MapFinder()
{
if ((Map.Width == 8 && Map.Height==8))
{
return "DefaultMap";
}
else
return "Something Different";
}
public String MapTracker()
{
if(StringFromMapFinder == "DefaultMap");
{
return "Hello DefaultMap";
}
else
{
return "Hello StrangeMap";
}
答案 0 :(得分:0)
您可以在MapFinder()
MapTracker()
public string MapFinder()
{
if ((Map.Width == 8 && Map.Height == 8))
{
return "DefaultMap";
}
return "Something Different";
}
public string MapTracker()
{
// call the method, include the "()"
if(MapFinder() == "DefaultMap");
{
return "Hello DefaultMap";
}
return "Hello StrangeMap";
}
答案 1 :(得分:0)
你几乎可以像你描述的那样完成它,你只是缺少一些比特。经过一些最小的修复后,您的代码将是:
public String MapFinder()
{
if ((Map.Width == 8 && Map.Height==8))
{
return "DefaultMap";
}
else
return "Something Different";
}
public String MapTracker()
{
if( MapFinder() == "DefaultMap" ) // <- change
{
return "Hello DefaultMap";
}
else
{
return "Hello StrangeMap"; // <- change
}
}
我已经标记了这些变化。我做了三个:
;
代替if
而非)
"
StringFromMapFinder
但是,通常情况下,您宁愿将某个调用的结果存储在某处,然后再进行检查:
public String MapTracker()
{
String mapFinderResult;
mapFinderResult = MapFinder();
if( mapFinderResult == "DefaultMap" )
{
return "Hello DefaultMap";
}
else
{
return "Hello StrangeMap";
}
}
在这里,我创建了一个名为mapFinderResult
的变量,我称之为方法,并将结果存储在该变量中,然后在if
我已经使用变量来检查返回的内容。这个较长的版本与之前的版本相同,只是区别在于结果存储在变量中而不是直接在if
条件中使用。
我不会再描述它了,因为我需要写一个很长的课程。请获取一些C#教程,并进一步了解methods
calling methods
和using variables
。