C# 将列表对象写入新行,中间有空格

C# 将列表对象写入新行,中间有空格,c#,list,foreach,C#,List,Foreach,我不擅长解释,所以我只想让代码来说话。这是我的一段代码 PIDages.Sort(); lollist.WriteLine(); foreach (int a in PIDages) { lollist.Write(a + " "); } PIDages.Clear(); 此代码重复多次。此时,它将以以下格式在新行上输出每个列表 13*SPACE* 13 13*SPACE* 1 2 8*SPACE* 是否有一种简单的方法可以避免在每一行的末尾都有空格字符?如果要跳过字符串

我不擅长解释,所以我只想让代码来说话。这是我的一段代码

PIDages.Sort();
lollist.WriteLine();
foreach (int a in PIDages)
{
    lollist.Write(a + "  ");   
}
PIDages.Clear();
此代码重复多次。此时,它将以以下格式在新行上输出每个列表

13*SPACE*  
13 13*SPACE*
1 2 8*SPACE*

是否有一种简单的方法可以避免在每一行的末尾都有空格字符?

如果要跳过字符串末尾的空格

您可以尝试:

  PIDages.Sort();
  lollist.WriteLine();
  string sResult = string.Empty;

  foreach (int a in PIDages)
  {
      sResult += (a + "  ");   
  }
  lollist.Write(sResult.Trim());

  PIDages.Clear();

如果要跳过字符串末尾的空格

您可以尝试:

  PIDages.Sort();
  lollist.WriteLine();
  string sResult = string.Empty;

  foreach (int a in PIDages)
  {
      sResult += (a + "  ");   
  }
  lollist.Write(sResult.Trim());

  PIDages.Clear();

您可以先连接字符串,然后使用Trim删除字符串开头或结尾的任何空格

有点像这样:

string result = String.Empty;
foreach (int a in PIDages)
{
    result = result + a + " ";
}
result = result.Trim();
lollist.Write(result);   

您可以先连接字符串,然后使用Trim删除字符串开头或结尾的任何空格

有点像这样:

string result = String.Empty;
foreach (int a in PIDages)
{
    result = result + a + " ";
}
result = result.Trim();
lollist.Write(result);   

您可以使用string.Join函数

lollist.WriteLine(String.Join(" ", PIDages)); 
我目前不确定是否需要强制转换,在C#2.0中,语法是

lollist.WriteLine(String.Join(" ", PIDages.Select(a => a.ToString()).ToArray());

您可以使用string.Join函数

lollist.WriteLine(String.Join(" ", PIDages)); 
我目前不确定是否需要强制转换,在C#2.0中,语法是

lollist.WriteLine(String.Join(" ", PIDages.Select(a => a.ToString()).ToArray());
保持简单

bool add_space = false;
PIDages.Sort();
lollist.WriteLine();
foreach (int a in PIDages)
{
    if (add_space)
        lollist.Write("  ");
    else
        add_space = true;
    lollist.Write(a);
}
PIDages.Clear();
保持简单

bool add_space = false;
PIDages.Sort();
lollist.WriteLine();
foreach (int a in PIDages)
{
    if (add_space)
        lollist.Write("  ");
    else
        add_space = true;
    lollist.Write(a);
}
PIDages.Clear();


不对。为什么一个int值里面会有一个空格呢?因为foreach部分中的代码,它会返回额外的空格,所以这不会有帮助。thx的尝试虽然这让我想到我可以把所有东西都附加到一个字符串中,然后在我将它写入文件之前使用Trim方法。是的,我的错。我认为OP需要一个列表,其中字符串没有尾随空格。是的,这可以工作,但用户287107的答案更好。不正确。为什么一个int值里面会有一个空格呢?因为foreach部分中的代码,它会返回额外的空格,所以这不会有帮助。thx的尝试虽然这让我想到我可以把所有东西都附加到一个字符串中,然后在我将它写入文件之前使用Trim方法。是的,我的错。我认为OP需要一个列表,其中字符串没有尾随空格。是的,这可以工作,但用户287107的答案更好。删除lollist中的空格。写行…不,这不会有帮助,因为我需要在同一行上的所有整数都有空格来分隔它们。删除lollist中的空格。写行…不,这不会有帮助,因为我需要所有整数都在同一条线上,并用空格分隔。效果很好。干杯。演员阵容没必要:)演得很好。干杯。演员阵容没有必要:)是的,哈哈,我在你发布它的时候就想到了,但是用户287107的另一个答案要好得多。谢谢。是的,哈哈,我在你发布它的时候就想到了,但是用户287107的另一个答案要好得多。谢谢你。