如何合并两个文本?

How to combine two texts?

我有一个 Single line 文本框和 Multiline 文本框,我想在单行文本框中包含一个单词,每行包含 Multiline 文本框中的单词

像这样:

单行文本:"Hello"(I have to use variables)<br>

多行字数:

<br>
1998<br>
1999<br>
2000

预期结果:


Hello1998
Hello1999
Hello2000
Pls Help me

我使用下面的代码,但它不能仅用于 Single line 文本框,我必须同时操作两个文本框:

string left = string.Format(add.Text , Environment.NewLine);
        string right = string.Format(textBox1.Text, Environment.NewLine);
        string[] leftSplit = left.Split(new[] { Environment.NewLine }, StringSplitOptions.None);
        string[] rightSplit = right.Split(new[] { Environment.NewLine }, StringSplitOptions.None);

        string output = "";
        if (leftSplit.Length == rightSplit.Length)
        {
            for (int i = 0; i < leftSplit.Length; i++)
            {
                output += leftSplit[i] + ":" + rightSplit[i] + Environment.NewLine;
            }
        }
        result.Text = output;

你能告诉我正确的方法吗?

TextBox.GetLineText(int) 将帮助您:

var singlelineText = singlelineTextBox.Text;
var composedLines = new List<string>();
for (var i = 0; i < multilineineTextBox.LineCount; i++)
{
  composedLines.Add(singlelineText + multilineineTextBox.GetLineText(i));
}

result.Text = string.Join(EnvironmentNewline, composedLines);

如果单行只有一个单词,则无需拆分成数组。

让我们将其视为 string left = "Hello";

并且 textbox1 包含多行单词,即

string right = string.Format(textBox1.Text, Environment.NewLine); // right variable contains 1998 \n 1999 \n 2000

那你可以试试下面的方法

var concatString = right.Split(new[] { Environment.NewLine }, StringSplitOptions.None).Select(x => left + x);
string result = string.Join(Environment.NewLine , concatString);

.Net Fiddle

输出:

Hello1998
Hello1999
Hello2000