Привет, у меня возникли проблемы с установкой IgnoreCase на эти коды
Console.WriteLine("Select a seat that you want to ocupy");
string UserInput = Console.ReadLine();
//replacing array values with X
for (int row = Arr.GetLowerBound(0); row <= Arr.GetUpperBound(0); ++row)
{
for (int column = Arr.GetLowerBound(1); column <= Arr.GetUpperBound(1); ++column)
if (Arr[row, column].Contains(UserInput))
{
Arr[row, column] = " X ";
}
}
Я заменяю значение 2d массива на "X" через UserInput. Здесь мой массив
string[,] Arr = new string[,]
{{"A1" , " A2" , " A3" , " A4" , " A5"},
{"B1" , " B2" , " B3" , " B4" , " B5"}};
String.Contains не имеет возможности указывать сравнение культуры или случая. Из-за этого вы, вероятно, захотите использовать ToLowerInvariant.
Например:
string UserInput = Console.ReadLine().ToLowerInvariant();
...
if (Arr[row, column].ToLowerInvariant().Contains(UserInput))
Вы должны использовать это вместо этого:
Arr[row, column].Contains(UserInput.ToUpper())
Использование ToUpper() всегда будет сравнивать верхнюю регистрацию ввода независимо от ее случая. Просто убедитесь, что массив указан так, как вы упомянули "ie all upper upper"