2016-11-29 7 views
1

だから、名前のリストを作りたいと思う。ユーザーが0を入力して終了するまで、このリストを続行します。ユーザーが0を入力すると、すべての名前が表示されます。あなたは、おそらく、私は以下のコードから何をしようとしているのかを見ているでしょう...「typedName」がそこにありますので、私は何をしようとしているのか見ています。C#のユーザーがループでリストを作成する

namespace ConsoleApplication1 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      List<string> names = new List<string>(); 
      Console.WriteLine("Type in 0 to end."); 
      bool over = false; 

      while (over != true) 
      { 
       names.Add(Console.ReadLine()); 

       if(typedName == "0") 
       { 
        over = true; 
       } 
      } 
      Console.WriteLine("Entered names : "); 
      names.ForEach(Console.WriteLine); 

      Console.ReadLine(); 
     } 
    } 
} 
+1

何ですか?場合は、リストを読み込みますか – SLaks

+0

実際にその変数を何かに設定しようとしましたか? – SLaks

+0

'break'ステートメントや' do while'ループについて学んでください。 – SLaks

答えて

4

まずあなたはtypedNameが捕獲され、それが0に等しいかどうかをチェックする必要があります。それはリスト

List<string> names = new List<string>(); 
    Console.WriteLine("Type in 0 to end."); 
    while (true) 
    { 
     var typedName = Console.ReadLine(); 
     if (typedName.Equals("0")) 
     { 
      break; 
     } 
     names.Add(typedName); 
    } 
    Console.WriteLine("Entered names : "); 
    foreach(var name in names) 
    { 
     Console.WriteLine(name); 
    } 

    Console.ReadLine(); 
+2

見栄えは良いですが、名前が「0」の場合は名前を追加したくないかもしれません。 –

+1

@AndrewBriggs ok modified – Sajeetharan

+1

'over'変数は変更されません。ループは' while(true) 'に単純化され、その変数を完全に削除することができます。 – David

1

if(typedName == "0")

まあに追加されていない場合 、typedName何ですか?またはになるはずですか?私は、それがユーザーによって入力された入力する必要があり、このような何かを疑う:

var typedName = Console.ReadLine(); 

あなたはその変数を使用して、リストに追加することができます:あなたのよう

names.Add(typedName); 

をそして"0"と比較しますすでに、などを行う

0

あなたのコードが動作しない理由がある完全なものではありません...

あなたが最も重要な部分が欠落しています

とあなたの質問だけであればtypedName != "0"

while (!over) 
{ 
    var typedName =Console.ReadLine(); 
    if(typedName == "0") 
    { 
     over = true; 
    }else 
    { 
     Console.WriteLine("Enter a name... "); 
     names.Add(Console.ReadLine()); 
    } 
    ... 
} 
関連する問題