我使用的是C#,目标是.NET Framework3.5。我正在寻找一个小的,简洁和有效的代码片段,将ListBox中的所有项复制到List<String>
(通用List)。
目前,我的代码类似于下面的代码:
List<String> myOtherList = new List<String>();
// Populate our colCriteria with the selected columns.
foreach (String strCol in lbMyListBox.Items)
{
myOtherList.Add(strCol);
}
当然,这是可行的,但我不禁感觉到,肯定有更好的方法来使用一些较新的语言特性来实现这一点。我在考虑类似List.ConvertAll方法的东西,但这只适用于泛型列表,而不适用于ListBox.ObjectCollection集合。
发布于 2009-10-14 10:44:59
使用一点LINQ就可以了:
var myOtherList = lbMyListBox.Items.Cast<String>().ToList();
当然,您可以将强制转换的Type参数修改为您在Items属性中存储的任何类型。
发布于 2009-10-14 10:48:43
发布于 2009-10-14 10:44:42
这样如何:
List<string> myOtherList = (from l in lbMyListBox.Items.Cast<ListItem>() select l.Value).ToList();
https://stackoverflow.com/questions/1565504
复制相似问题