C# 如果没有for循环,如何在文本框中显示变量类型这些值
我有一个场景,我有一个C# 如果没有for循环,如何在文本框中显示变量类型这些值,c#,.net,linq,linq-to-entities,linq-to-objects,C#,.net,Linq,Linq To Entities,Linq To Objects,我有一个场景,我有一个 var testVar= list1.Intersect(list2); testVar包含大约400个值 现在我必须在文本框中显示所有值。 比如: 所以,没有for循环,如何在文本框中显示这些值 请帮忙,像这样的东西怎么样: string myText = String.Join(",", (from my in myList select my.ToString()).ToArray()); 您
var testVar= list1.Intersect(list2);
testVar包含大约400个值
现在我必须在文本框中显示所有值。
比如:
所以,没有for循环,如何在文本框中显示这些值
请帮忙,像这样的东西怎么样:
string myText = String.Join(",", (from my in myList
select my.ToString()).ToArray());
您可能希望将“my.ToString()”替换为给定对象类型的最有意义的内容(或者,如果它们已经是字符串,只需选择“my”)类似的内容如何:
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的原因是您的列表可能不是字符串。因此,此构造将使您有机会相应地构建字符串项。假设您正在处理字符串列表,您希望执行以下操作:
Textbox1.Text = String.Join(", ", testVar.Select(s => s).ToArray());
我留下
s=>s
lambda的原因是您的列表可能不是字符串。因此,此构造将为您提供相应地构建字符串项的机会。我不是说这是一种好方法,因为我使用了前面介绍的string.Join解决方案,但是,为了完整性,并且因为我知道我们大多数人都喜欢看别人如何解决问题,所以我看到使用的解决方案是Linq Aggregate()功能
Dim laNumbers() As String = {"one", "two", "three"}
Dim lsCSV = laNumbers.Aggregate(Function(s1, s2) s1 & ", " & s2)
Console.WriteLine(lsCSV)
我并不是说这是一个好方法,因为我使用了前面介绍的String.Join解决方案,但是,为了完整性,并且因为我知道我们大多数人都喜欢看别人如何解决问题,我看到使用的一个解决方案是Linq Aggregate()函数
Dim laNumbers() As String = {"one", "two", "three"}
Dim lsCSV = laNumbers.Aggregate(Function(s1, s2) s1 & ", " & s2)
Console.WriteLine(lsCSV)
它是
Select
,而不是Select
(大写字母s)。它是Select
,而不是Select
(大写字母s)。(我看到它被标记为C,但这个概念足够简单,我不想重写。希望没问题。)(我看到它被标记为C,但这个概念足够简单,我不想重写。希望没问题。)