4

我试过这个:

richTextBoxResults.Text = listStrSessionIdLines.ToString();

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

...我试过这个:

listStrSessionIdLines.CopyTo(richTextBoxResults.Lines);

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

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

4

4 回答 4

9

这对我有用:

myRichTextBox.Lines = myList.ToArray();
于 2012-06-19T00:43:14.653 回答
2

试试这个:

List<String> list = new List<String>();
list.Add("1");
list.Add("2");
richTextBox1.Lines = list.ToArray();
于 2012-06-19T00:46:47.093 回答
2

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

当涉及到List Of strSessionIdLinesToString() 时,它会告诉您它是什么类型的对象。

例如,如果您将 anint转换为 astringint.ToString()返回其值,但如果您在整数数组上执行此操作,则int[].ToStringToString()方法不会返回例如逗号/换行符分隔的值字符串。正如你所预料的那样。

这就是为什么将 .ToArray 分配给 RichTextBox 的 .Lines 属性或循环(或聚合)以将字符串列表连接成一个字符串以适应 RichTextBox 的 .Text 属性。

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

于 2012-06-19T01:01:20.117 回答
1

Aggregate使用在序列上应用累加器函数的linq 。

richTextBoxResults.Text = listStrSessionIdLines.Aggregate((i, j) => i + j);
于 2012-06-19T00:43:34.510 回答