我有一个场景,我有一个
var testVar= list1.Intersect(list2);
testVar包含大约400个值。
现在我必须在文本框中显示所有值。如:
Textbox1.text = testVar...
那么,没有for循环如何在TextBox
中显示这些值呢?请帮助
这样如何:
string myText = String.Join(",", (from my in myList
select my.ToString()).ToArray());
您可能希望将'my. tostring()'替换为给定对象类型的任何最有意义的内容(或者,如果它们已经是字符串,只需选择'my')
假设您正在处理字符串列表,您希望这样做:
Textbox1.Text = String.Join(", ", testVar.Select(s => s).ToArray());
我离开s => s
lambda的原因是您的列表可能不是字符串。因此,这个结构将给您机会相应地构建字符串项。
我不是说这是好方法,因为我使用字符串。但是,为了完整起见,也因为我知道我们大多数人都喜欢看别人是如何解决问题的,我看到的一个解决方案是Linq Aggregate()函数。
Dim laNumbers() As String = {"one", "two", "three"}
Dim lsCSV = laNumbers.Aggregate(Function(s1, s2) s1 & ", " & s2)
Console.WriteLine(lsCSV)