私はテキストゲームを作っています。私はプレーヤーからの入力を取得する方法と、その入力を処理する方法の1つを持っています。ただし、プレイヤーがコマンドをすべて小文字で入力した場合にのみ機能します。私はそれを無視するようにしたい。大文字と小文字を区別しない解釈C#
public string GetInput()
{
var Test = true;
while (Test)
{
response = Console.ReadLine();
if (validWords.Contains(response))
{
Test = false;
ProcessInput(response);
}
else
{
Console.WriteLine("I'm sorry, I do not understand.");
}
}
return response;
}
public void ProcessInput(string response)
{
switch (response)
{ //Switch statements for responses here
}
}
私は私がここで見つけたいくつかの他の回答を使用してみましたが、それらはすべて、まだ小文字のみの入力で動作する(LINQを使用して、string.IndexOfは、/ etc /に等しいです。)。アイデア? Contains
メソッドの2番目のパラメータとして文字列のケースを無視
validWordsの内容は何ですか?これらがすべて小文字の文字列である場合は、ユーザー入力を小文字の単語に変換してから検索を実行してください。 IE _response = Console.ReadLine()。ToLower(); _ – Steve
これらはすべて小文字です - ToLowerはどこに置くのですか? –
入力を小文字に変換するだけです。それ以外の変更は必要ありません。 – Steve