Вы можете сделать это почти точно так, как вы описали, вы просто не хватает несколько битов. После некоторой минимальной фиксации ваш код будет выглядеть следующим образом:
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
вместо )
- Исправлена опечатка в
;
: у вас есть незакрытые кавычки "
в strangemap
- Я заменил
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
.
попробуйте это 'if (StringFromMapFinder == MapFinder())' –
http://www.homeandlearn.co.uk/csharp/csharp.html – EZI
Почему вы делаете downvoting? Этот вопрос тривиальен для экспертов C#, но учтите, что: (1) правильное название вопроса (2) читаемый код с попыткой автора (3) попытка четко и точно описана в тексте. Итак, почему нисходящий? – quetzalcoatl