c# - ForEach Memo Lines

时间:2016-07-13 19:33:18

标签: c# loops foreach

我正在使用XtraReport和备忘录。我想为每个备忘录制作朗姆酒循环并添加到XtraReport。

我的代码:

foreach (string line in memo_autores.Text.Split('\n'))
            {
                    report.xrRichText1.Text = line;
            }

输出:

只有最后一行memo_autores

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

看起来你需要连接而不是完全替换文本。循环的每次迭代都代表一行文本,所以当你在循环内部分配时,你最终会看到最后一行,因为那是最后一个值集。如果您构建如下所示的字符串,那么您将看到所有文本:

var sb = new StringBuilder();
foreach (string line in memo_autores.Text.Split(new [] { Environment.NewLine }, StringSplitOptions.None))
{
    sb.AppendLine(line);
}
report.xrRichText1.Text = sb.ToString();

正如评论中所指出的,这可能是复制全文的更直接的途径:

report.xrRichText1.Text = memo_autores.Text;

或者删除新行:

report.xrRichText1.Text = memo_autores.Text.Replace(Environment.NewLine, string.Empty);