从C#中的函数返回listBox项

时间:2015-12-30 17:06:54

标签: c# winforms loops return-value return-type

我正在尝试从函数返回列表框中的项目集合列表,以便我可以在另一个函数中使用这些数据。

我看过一个循环遍历集合并将其添加到列表中的方法,但有没有更好的方法来执行此操作,因此我不必遍历列表中的所有值?

public list<String> getListItems(){
    List<string> selectedList = new List<string>();
    foreach (var item in listBox1.Items) {
       selectedList.Add(item.ToString());
    }
}

3 个答案:

答案 0 :(得分:2)

您可以这样使用Cats<T>

this.listBox1.Items.Cast<Object>().ToList();

或者如果你想要List<string>

this.listBox1.Items.Cast<object>().Select(x => x.ToString()).ToList();

不要忘记添加using System.Linq;

答案 1 :(得分:1)

您可以像这样使用LINQ:

$(document).ready(function() {
    $(".char1").click(function() {
        $(".desc_zidane").fadeIn(500);
    });
});

虽然代码较少,但我认为它的性能大致相同。

答案 2 :(得分:1)

您可以尝试使用Cast<>方法将Items集合的每个项目转换为可查询对象。

首先添加命名空间以使用Linq:

using System.Linq;

尝试这样的事情:

public List<string> getListItems()
{
   return listBox1.Items.Cast<object>()
                        .Select(x => x.ToString())
                        .ToList();
}