1

嗨,我在将 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 ";
                        }                                                                  
            }

我正在通过 UserInput 用“X”替换二维数组值 这是我的数组

string[,] Arr = new string[,]
{{"A1" , " A2" , " A3" , " A4" , " A5"},
{"B1" , " B2" , " B3" , " B4" , " B5"}};
4

2 回答 2

2

String.Contains 无法指定区域性或大小写比较。因此,您可能想要使用ToLowerInvariant

例如:

string UserInput = Console.ReadLine().ToLowerInvariant();

...

if (Arr[row, column].ToLowerInvariant().Contains(UserInput))
于 2014-10-06T04:59:26.997 回答
1

你应该改用这个:

Arr[row, column].Contains(UserInput.ToUpper())

使用 ToUpper() 将始终比较输入的大写版本,无论大小写如何。只要确保数组是你提到的“即全部大写”

于 2014-10-06T04:58:42.583 回答