如何在方法中调用方法?

时间:2015-03-15 20:21:38

标签: c# methods

这里我试图从方法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";
    }

2 个答案:

答案 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 methodsusing variables