Справка по проверке Unity в заявлении If - PullRequest
0 голосов
/ 18 января 2019

Так что, когда мой ответ неверен на TextValidation например, TextValidation value = "fable", ничего не будет работать, и когда значение TextValidation не включено в "fable" или что-либо еще, ничего не происходит. Я попытался удалить else из моего выражения, и TextValidation value = "fable" снова работает. Я не знаю, что не так в моем коде T_T.

public TextMeshProUGUI TextValidation;
string[] rightanswers = { "able", "alef", "bale", "blae", "feal", 
    "flab", "flea", "leaf", "fable" };

public void rightanswersButton()
{
    for (int index = 0; index < rightanswers.Length; index++)
    {
        if (finalAnswer == rightanswers[index])
        {        
            TextValidation.text = "You are correct your answer is :" + finalAnswer;
            delete();
        }
        else
        {
            TextValidation.text = "You are wrong";
            delete();
        }
    }
}

1 Ответ

0 голосов
/ 18 января 2019

Вас интересует только то, присутствует ли пользовательское значение в массиве, но вы проверяете каждое значение, чтобы в конечном итоге найти не более одного правильного ответа и целую кучу неправильных ответов, а также распечатать из тонны ненужных сообщений.

Есть несколько способов атаковать это. Например, если вы найдете значение, вы можете установить флаг и выйти из цикла раньше.

bool isFound = false;
for (int index = 0; index < rightanswers.Length; index++)
{
    if (finalAnswer == rightanswers[index])
    {        
        isFound = true;
        break;
    }
}

if (isFound)
    TextValidation.text = "You are correct your answer is :" + finalAnswer;
else
    TextValidation.text = "You are wrong";
delete();

В качестве альтернативы, вы можете использовать LINQ, чтобы выяснить, соответствует ли какой-либо элемент массива искомому значению.

if (rightanswers.Any(x => x == finalAnswer))
    TextValidation.text = "You are correct your answer is :" + finalAnswer;
else
    TextValidation.text = "You are wrong";
delete();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...