C#在组合的.text之间创建空白行

时间:2016-03-18 05:52:51

标签: c#

 private void btnAssemble_Click(object sender, EventArgs e)
    {
        txtAssembled.Text = (cboTitle.Text +  txtFirstName.Text[0] + txtMiddle.Text + txtLastName.Text + "\r\n" +txtStreet.Text + "\r\n"+ cboCity.Text);           
    }

我试图在cboTitle.Text,txtFirname.Text,txtMiddle.Text和txtLastName之间获得1个字符的空格,但它们都将信息一起输出,但我希望它们间隔均匀。我需要做什么?提前谢谢。

我将在我的项目中发布一些上面的代码,以防它可能是相关的。

 string AssembleText(string Title, string FirstName, string MiddleInitial, string LastName, string AddressLines, string City )
    {
        string Result = "";
        Result += Title + " ";
        Result += FirstName.Substring(0, 2) + " ";

        // Only append middle initial if it is entered
        if (MiddleInitial != "")
        {
            Result += MiddleInitial + " ";
        }

        Result += LastName + "\r\n";

        // Only append items from the multiline address box
        // if they are entered
        if ( AddressLines != "")
        {
            Result += AddressLines + "\r\n";
        }
        //if (AddressLines.Length > 0 && AddressLines.ToString() != "")
        //{
        //    Result += AddressLines + "\r\n";
        //}


        Result += City;

        return Result;
    }
}

}

4 个答案:

答案 0 :(得分:1)

如果你只是想在btnAssemble_Click中的那些特定字段之间留一个空格,你可以像这样插入它们:

string myStr = foo + " " + bar + " " + baz;

因此,您的第一个函数将被修改为:

private void btnAssemble_Click(object sender, EventArgs e) { txtAssembled.Text = (cboTitle.Text + " " + txtFirstName.Text[0] + " " + txtMiddle.Text + " " + txtLastName.Text + "\r\n" + txtStreet.Text + "\r\n" + cboCity.Text); }

其他一些评论:

  • 我不清楚你发布的AssembleText()函数与此有什么关系。我很困惑,因为我看到几条线在末尾附加了空格,就像我上面提到的那样。
  • 使用String.Format()函数可以使这段代码更易于阅读和维护。
  • 使用Environment.NewLine而不是“\ r \ n”将使字符串包含为该特定环境定义的换行符。
  • 在循环内部构建字符串时,使用StringBuilder对象可能比连接更快(这里可能不适用)。

答案 1 :(得分:1)

使用String.format()应该收费。它还使您的代码易于阅读。

txt.assembled.text = String.Format("{0} {1} {2} {3}",
cboTitle.Text,
txtFirstName.Text[0],
txtMiddle.Text,
txtLastName.Text
);

答案 2 :(得分:1)

就像这样

 private void btnAssemble_Click(object sender, EventArgs e)
{
    txtAssembled.Text = (cboTitle.Text + " " + txtFirstName.Text[0] + " " +txtMiddle.Text + " " + txtLastName.Text + "\r\n" +txtStreet.Text + "\r\n"+ cboCity.Text);           
}

答案 3 :(得分:0)

好像你想要String.Join;无论何时你想要将字符串与分隔符组合起来,比如" "(空格),你只需要放置

  String combined = String.Join(" ", 
                                cboTitle.Text, 
                                txtFirstName.Text[0], 
                                txtMiddle.Text, 
                                txtLastName.Text);

完整实施(通过空间新行加入)可能

  txtAssembled.Text = String.Join(Environment.NewLine,
    String.Join(" ", 
                cboTitle.Text, 
                txtFirstName.Text[0], 
                txtMiddle.Text, 
                txtLastName.Text),
    txtStreet.Text, 
    cboCity.Text);