我可以在这种情况下使用foreach吗?如何WriteLine字符串"酷"?

Ire*_*rek 3 c#

我学习C#并编写代码.如何使用foreach运算符打印"cool"字样:

static void Main(string[] args)
{
   string [ ] arr = {"a", "c", "a", "o", "a", "o", "a", "l"};
   string sum = ""; 

   foreach (string x in arr)
   {
      sum += x * 2;
   }
}
Console.WriteLine(sum);
Run Code Online (Sandbox Code Playgroud)

我不能使用x * 2,如果我只使用sum += x,输出是"acaoaoal".如何使用foreach接收输出"酷"?

myb*_*ame 5

for (int i = 1; i < arr.Length; i += 2)
{
    sum += arr[i];
}
Run Code Online (Sandbox Code Playgroud)

你需要循环并从i=1步骤开始+2.

如果您的任务是使用foreach,则需要添加另一个变量作为计数器,如果是偶数,则需要检查它.

int count = -1;
foreach(string x in arr)
{
   count++;
   if(count % 2 == 0)
      continue;

   sum += x;
}
Run Code Online (Sandbox Code Playgroud)

请注意,如果字符串数组太大,您应该使用StringBuilder串联字符串.

如何使用linq:

var result = arr.Select((x, i) => i % 2 == 1 ? x:"").Where(x=>!string.IsNullOrEmpty(x)).ToArray();

Console.WriteLine(string.Join("", result));
Run Code Online (Sandbox Code Playgroud)