Как я могу доказать, равен ли символ в строке определенному символу? - PullRequest
0 голосов
/ 11 ноября 2019

Я хотел бы доказать, равен ли первый символ в моей строке "@". Как я могу это сделать? Я использую c #

if (string[1] == "<character>")
                    {
                        Console.WriteLine("TRUE");
                    }

Ответы [ 4 ]

2 голосов
/ 11 ноября 2019
var s = "@";
    if (s[0] == '@')
    {
        Console.WriteLine("TRUE");
    }
0 голосов
/ 11 ноября 2019
if (someString[0] == '@')
{
    Console.Writeline("TRUE");
}
  1. Не используйте 'string' в качестве имени переменной.
  2. Первый символ строки имеет индекс = 0.
  3. Для значения char используйте '@', а не"@".
0 голосов
/ 11 ноября 2019

Вы можете использовать StartsWith:

if (str.StartsWith("@"))
{
     Console.Writeline("TRUE");
}

Если переменная, которую вы тестируете, может быть нулевой, вы можете обработать это с помощью:

if (str?.StartsWith("@") ?? false)
{
     Console.Writeline("TRUE");
}
0 голосов
/ 11 ноября 2019

Вы можете получить конкретный символ из строки, используя подстроку:

 char firstCharacter = string.Substring(0,1).ToCharArray()[0];

 if (firstCharacter == '@')
 {
     Console.WriteLine("TRUE");
 }

Первое число в функции подстроки - это первый символ, который вы восстановите (кстати, символы в строке отсчитываются от 0,поэтому первым символом будет символ «0»). Второе число - это количество символов, которое вы хотите получить (в вашем случае только один).

Странная часть - CharArray. Функция подстроки возвращает строку, которую вы хотите сравнить с символом. Поэтому вам нужно преобразовать строку в массив символов, получить первый элемент этого массива и сравнить его с вашим символом.

РЕДАКТИРОВАТЬ: некоторые люди ответили, используя функцию StartsWith. Это также работает, но в случае, если вам нужен другой персонаж, кроме первого, может быть полезно знать этот подход. Но если вы этого не понимаете, используйте StartsWith.

...