2017-01-25 2 views
0

私のジャンルを一緒に参加させ、代わりにdiffラインで印刷したい。 「Action、Adventure」のようなジャンルに参加するにはどうすれば2つの差分行に印刷できますか? 私の出力は2つの異なる行に出力されます。 申し訳ありませんが、フォーマットと悪い英語。itemListを1行に結合する方法は?

マイコード:

static void initMovies(List<Movie> mList) 
    { 
     Movie m; 


     m = new Movie("The Great Wall", 103, "NC16", new DateTime(2016,12,29),new List<string> { "Action", "Adventure" }); 
     mList.Add(m); 


     m = new Movie("Rogue One: A Star Wars Story", 134, "PG13", new DateTime(2016,12,15),new List<string> { "Action","Adventure"}); 
     mList.Add(m); 


     m = new Movie("Office Christmas Party", 106, "M18", new DateTime(2017,01,15),new List<string> { "Comedy" }); 
     mList.Add(m); 

     m = new Movie("Power Rangers", 120, "G",new DateTime(2017,1,31),new List<string>{ "Fantasy","Thriller"}); 
     mList.Add(m); 
    } 



static void displayMovie(List<Movie> mList) 
{ 
    Movie m; 
    Console.WriteLine("{0,-10} {1,-30} {2,-10} {3,-20} {4,-20} {5,-10}","No","Title","Duration","Genre","Classification","Opening Date"); 
    var gList = new List<List<string>>(); 
    for(int i = 0; i<mList.Count;i++) 
    { 
     m = mList[i]; 
     foreach (string value in m.GetGenreList()) 
     { 
      Console.WriteLine("{0,-10} {1,-30} {2,-10} {3,-20} {4,-20} {5,-10}", i + 1, m.Title, m.Duration, value, m.Classification, m.openingDate); 
     } 
    } 
} 

例: image1

マイ出力: Output

+1

か出力する。 –

+0

何tgt?あなたのデータのテキストを追加してください。 –

+1

サンプルデータを共有するだけで簡単にテストできます。 :) – prtdomingo

答えて

1

あなたはGetGenreList()メソッドから取得する要素を結合するためにstring.joinを使用して、次のように、内側foreachループを省略することがあります。サンプルデータのためのテキストの代わりに画像を投稿するには、ここでは非常に失礼と考えられています

for (int i = 0; i < mList.Count; i++) 
{ 
    m = mList[i]; 
    //foreach (string value in m.GetGenreList()) 
    //{ 
     string all_genres = string.Join(",", m.GetGenreList()); //get all genres as a comma seperated in single string 
     Console.WriteLine("{0,-10} {1,-30} {2,-10} {3,-20} {4,-20} {5,-10}", i + 1, m.Title, m.Duration, all_genres, m.Classification, m.openingDate); 
    //} 
} 
1

私はあなただけで、内側のforeachを削除し、ここstring.Joinを使うべきだと思います。ここで

は例です:

static void displayMovie(List<Movie> mList) 
{ 
    Movie m; 
    Console.WriteLine("{0,-10} {1,-30} {2,-10} {3,-20} {4,-20} {5,-10}","No","Title","Duration","Genre","Classification","Opening Date"); 
    var gList = new List<List<string>>(); 
    for(int i = 0; i<mList.Count;i++) 
    { 
     m = mList[i]; 
      string genres = string.Join(", ", m.GetGenreList().ToArray()); 
      Console.WriteLine("{0,-10} {1,-30} {2,-10} {3,-20} {4,-20} {5,-10}", i + 1, m.Title, m.Duration, genres, m.Classification, m.openingDate); 
     } 
    } 
} 

そして結果:

enter image description here

はそれが役に立てば幸い!

関連する問題