2012-06-19 34 views
2

我已经试过这样:如何将List <String>的内容分配给RichTextBox?

richTextBoxResults.Text = listStrSessionIdLines.ToString(); 

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

...我已经尽力试试这个:。

listStrSessionIdLines.CopyTo(richTextBoxResults.Lines); 

...但我得到的,“参数异常是未处理的目标数组不够长检查destIndex和长度,数组的下限

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

+0

我还活着的另一个技巧是当我需要调用一个方法时,例如'String.Format'我将鼠标悬停,以便我可以看到该方法期望的内容 - “期望成为关键字”。然后说它需要在类型X的参数中有一个参数,我声明类型X并将其传入。方法通常具有重载,这意味着它们可以使用不同的参数,所以按向上/向下滚动它们也有帮助找出你的情况最方便的地方。当你传入一个方法的参数(在它的参数中)时,输入逗号来刷新指示每个参数数据类型的工具提示。 –

回答

1

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

当涉及到一个List Of strSessionIdLines了toString()告诉你它是什么类型的对象。

如果您是铸造例如一个intstringint.ToString()将返回它的价值,但如果你这样做整数int[].ToString的阵列上是ToString()方法不会返回例如逗号/换行分隔值的字符串。正如你所预料的那样。

这就是为什么分配.ToArray到 RichTextBox的或循环(或总量)的.Lines属性列表的字符串 连接成一个字符串,以适应RichTextBox的作品。文本属性。

一个提示,我住的是当我需要调用一个方法,如String.Format我将鼠标悬停我的鼠标,这样我可以看到什么方法期望 - 预计being the keyword。然后说这个方法需要在类型X的参数中有一个参数,我声明类型X并将其传入。方法通常有重载,这意味着它们可以使用不同的参数,所以按向上/向下滚动它们也是有帮助的找出你的情况最方便的地方。当你传入一个方法的参数(在它的参数中)时,输入逗号来刷新指示每个参数数据类型的工具提示。

5

这个工作对我来说:

myRichTextBox.Lines = myList.ToArray(); 
1

使用LINQ Aggregate其中一个序列应用累加器函数。

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

试试这个:

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