2017-05-16 21 views
-3

我有簡單的控制檯應用程序與下面的代碼行。C#打印字符串值的長度在每個值的底部?

string[] daysOfWeek = { "Monday", "Tuesday" }; 

IEnumerable<int> lengths = daysOfWeek.Select(x => x.Length); 
//Each Day will be print 

foreach (var eachDay in daysOfWeek) 
{ 
    Console.WriteLine(eachDay); 
} 
//Lenth of each day 

foreach (var eachDayLength in lengths) 
{ 
    Console.WriteLine(eachDayLength); 
} 

當前輸出顯示,首先所有的值,然後是長度。

可能的輸出可能是這樣嗎?

//expected output 
//Monday 
//6 
//Tuesday 
//7 

回答

1

你只是在第一個foreach中打印長度。就像這樣:

string[] daysOfWeek = { "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday" }; 

     //Each Day will be print 

     foreach (var eachDay in daysOfWeek) 
     { 
      Console.WriteLine(eachDay); 
      Console.WriteLine(eachDay.Length.ToString()); 
     } 
+2

如果你不需要調用'ToString();'。 'Console.WriteLine()'有一個['int'重載](https://msdn.microsoft.com/en-us/library/70x4wcx1(v = vs.110).aspx)。 – sab669

4

只要做到這一點:

string[] daysOfWeek = { "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday" }; 

foreach (var day in daysOfWeek) 
{ 
    Console.WriteLine(day); 
    Console.WriteLine(day.Length); 
} 
0

只是爲了好玩。

string[] daysOfWeek = { "Monday", "Tuesday" }; 
IEnumerable<int> lengths = daysOfWeek.Select(x => x.Length); 

int y = Console.CursorTop; 
foreach (var eachDay in daysOfWeek) 
{ 
    Console.WriteLine(eachDay); 
    Console.WriteLine(); // placeholder for length 
} 

Console.SetCursorPosition(0, y); 
foreach (var eachDayLength in lengths) 
{ 
    Console.WriteLine(); // skip day 
    Console.WriteLine(eachDayLength); 
}