如何将List <string>的内容分配给RichTextBox?</string>

时间:2012-06-19 00:36:59

标签: c# winforms generics arraylist richtextbox

我试过这个:

richTextBoxResults.Text = listStrSessionIdLines.ToString();

...但是获取List的ToString()表示(我猜它就是这样:“System.Collections.Generic.List`1 [System.String]”)。

......我试过这个:

listStrSessionIdLines.CopyTo(richTextBoxResults.Lines);

...但是我得到了,“ Argument Exception未处理。目标数组不够长。检查destIndex和length,以及数组的下限。

这是否意味着我必须首先为RichTextBox分配一些行,或者...... ???

4 个答案:

答案 0 :(得分:6)

这对我有用:

myRichTextBox.Lines = myList.ToArray();

答案 1 :(得分:2)

试试这个:

List<String> list = new List<String>();
list.Add("1");
list.Add("2");
richTextBox1.Lines = list.ToArray();

答案 2 :(得分:2)

Most classes in the BCL have a ToString() method.

当谈到List Of strSessionIdLines时,ToString()告诉你它是什么类型的对象。

如果您要int转换为stringint.ToString()将返回其值,但如果您对整数数组int[].ToString执行此操作,则ToString() {1}}方法不会返回例如逗号/换行符分隔的值字符串。正如你所期待的那样。

  

这就是为什么将.ToArray分配给.Lines属性的原因   RichTextBox或用于连接String Of List的循环(或聚合)   到一个字符串,以适应RichTextBox的.Text属性。

我生活的另一个提示是,当我需要调用方法时,例如String.Format我将鼠标悬停在鼠标上以便我可以看到方法所期望的内容 - 期望 {{1} }。然后说该方法需要在类型X的参数中使用参数,我声明类型X并将其传入。方法通常具有重载,这意味着它们可以使用不同的参数,因此按向上/向下滚动它们也是有帮助的在你的情况下找出最方便的东西。当您将参数传递给方法(在其参数中)时,请键入逗号以刷新指示每个参数数据类型的工具提示。

答案 3 :(得分:1)

使用linq Aggregate对序列应用累加器函数。

richTextBoxResults.Text = listStrSessionIdLines.Aggregate((i, j) => i + j);