Как определить, вводил ли пользователь строчные буквы в C #? - PullRequest
0 голосов
/ 15 декабря 2018

Это мой первый вопрос здесь!

Я работаю над заданием кодирования C# для колледжа, где игрок вводит различные действия, и результаты его действий отображаются в консоли.До сих пор я просто говорил:

(if firstInput == "Action" || firstInput == "action")

Я слышал, что могу упростить это, используя string.ToLower(), но я не могу понять, как это сделать.

Буду признателен за любую помощь в этом, и мои извинения, если это довольно очевидно, я C# noob: p

Спасибо!

Ответы [ 3 ]

0 голосов
/ 15 декабря 2018

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

Итак, поскольку "Action" != "action", попробуйте String.Equals

bool isEqual = String.Equals(x, y, StringComparison.Ordinal);

Итак, я бы выполнил .ToLower() из ввода пользователя, а затем сравнил его с исходным вводом.

0 голосов
/ 15 декабря 2018

string.ToLower() возвращает новый string, содержащий все строчные буквы.Поэтому ваш код должен выглядеть следующим образом:

if (firstInput.ToLower() == "action"){
{

.ToLower() преобразует firstInput в строчную строку.При сравнении строкового литерала со строчными буквами для "action" сравнение будет успешным, если firstInput содержит "action" в любой прописной или строчной форме (действие, действие, aCtIoN и т. Д.).

Стоит отметить, что в документации Microsoft .Net рассказывается, как использовать string.ToLower().В рамках изучения программирования на C # вы должны привыкнуть проверять документацию Microsoft .Net, чтобы узнать, как использовать функциональные возможности, предоставляемые платформой.Статья string.ToLower() содержит полный пример кода:

using System;

public class ToLowerTest {
    public static void Main() {

        string [] info = {"Name", "Title", "Age", "Location", "Gender"};

        Console.WriteLine("The initial values in the array are:");
        foreach (string s in info)
            Console.WriteLine(s);

        Console.WriteLine("{0}The lowercase of these values is:", Environment.NewLine);        

        foreach (string s in info)
            Console.WriteLine(s.ToLower());

    }
}
// The example displays the following output:
//       The initial values in the array are:
//       Name
//       Title
//       Age
//       Location
//       Gender
//       
//       The lowercase of these values is:
//       name
//       title
//       age
//       location
//       gender
0 голосов
/ 15 декабря 2018

Идея состоит в том, чтобы преобразовать входные данные во все строчные буквы, чтобы вы всегда могли сравнить строковую константу со строчными буквами независимо от того, что пользователь ввел

if (firstInput.ToLower() == "action") {
    ...
}

Примеры:

"ACTION".ToLower()  ===>  "action"
"Action".ToLower()  ===>  "action"
"action".ToLower()  ===>  "action"
...