web-dev-qa-db-ja.com

C#文字列配列のリストを印刷

私はc#を初めて使いますが、質問があります。文字列配列のリストを印刷するにはどうすればよいですか? Console.WriteLineを使用してstring []からそれを行うことができますが、forEachでリストに対してそれを行う場合、System.String []を出力するだけで、それぞれに使用するときにインデックスを書くにはどうすればよいですか?

5
atilas1

最も簡単な方法はこれです:String.Joinを使用する

string[] arr = new string[] { "one", "two", "three", "four" };
Console.WriteLine(String.Join("\n", sarr)); 

お役に立てれば。

17
PulkitG

したがって、次のように文字列配列のリストになります。

 List<string[]> data = new List<string[]>() {
   new string[] {"A", "B", "C"},
   new string[] {"1", "2"},
   new string[] {"x", "yyyy", "zzz", "final"},
 };

printに、たとえばConsoleで、ネストされたループを実装できます。

 foreach (var array in data) {
   Console.WriteLine();

   foreach (var item in array) {
     Console.Write(" ");
     Console.Write(item); 
   }
 }

または、アイテムを単一のJoinstringしてから印刷します。

 using System.Linq;
 ...

 string report = string.Join(Environment.NewLine, data
   .Select(array => string.Join(" ", array)));

 Console.Write(report);

または結合両方の方法:

 foreach (var array in data) 
   Console.WriteLine(string.Join(" ", array));
3
Dmitry Bychenko
string[] arr = new string[2]{"foo","Zoo"}; // sample Initialize.

// Loop over strings.
foreach (string s in arr)
{
    Console.WriteLine(s);
}

コンソール出力:

foo
Zoo
2
user114649

これは私のために働く:

var strArray = new string[] {"abc","def","asd" };
strArray.ToList().ForEach(Console.WriteLine);
1
master2080

インデックスを取得する文字列配列でそれを行います:

string[] names = new string[3] { "Matt", "Joanne", "Robert" };

int counter = 0;
foreach(var name in names.ToList())
{
 Console.WriteLine(counter.ToString() + ":-" + name);
 counter++;
}
0
Rui Estreito