2017-03-09 7 views
-2

私のプロジェクトで作業していますが、 コンソールプロジェクト! trueの場合、ユーザー入力が既に配列になっていれば、別の入力を要求します。C# - trueの場合は、ユーザー入力が既に配列されているかどうかをチェックします。別の入力を要求します。

while (!InArray(Console.ReadLine())); 
// ... 
public static bool InArray(string s){ 
    foreach(var item in array) { 
     if (item.Equals(s)) return false; 
    } 
    return true; 
} 
+2

はあなたのコードを表示します。何を試しましたか? –

+0

string [] array =新しい文字列[4]; var input = Console.ReadLine(); for(int i = 0; i

+0

元の投稿を編集してコードを追加します。 –

答えて

0

あなたは、単純な昔ながらのを試すことができます...それが今見えるんどのように私たちを見るには何も投稿しない

int numberOfElementsInArray=100; 
string [] array = new string[numberOfElementsInArray]; 
var input = Console.ReadLine(); 
for (int i = 0; i < array.Length; i++) 
{ if (array.Contains(input)) { Console.WriteLine("What you've enter is allready contained in this array"); } else { array[i] = Console.ReadLine(); } 
0

あなたが行うことができます何かのように:

1

それはこのようなものかもしれませんが、あなたがしたので、あなたはそれをあなた自身の方法を行う奨め:

if (YourArray.Any(x => YourCondition)) { 
    //Ask the user for another input. 
} 
+0

そして、配列内の要素がある場合、新しい入力を要求するよりも終わりに飛びつかない? –

+0

気にしないで、モバイルで、私はelse節を逃しました! – Steve

+0

しかし、それはうまくいきません。 –

0
List<String> allUserInputs = new List<String>(); 
int counter = 0; 
int maxIterations = 100; 
do 
{ 
    counter++; 
    String newInput = Console.Read(); 
    if (!allUserInputs.Contains(newInput)) 
     allUserInputs.Add(newInput); 
    else 
     Console.WriteLine("\nYour input already exists. Please try again.\n") 
} while(counter <= maxIterations) 
+0

stopCriteriaとは何ですか? –

+0

ループを終了させるブールメソッド。 – tony

関連する問題