返回C#中函数的listBox项

本文关键字:listBox 函数 返回 | 更新日期: 2023-09-27 18:28:34

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

我看到了一种方法来循环遍历集合并将其添加到列表中,但有没有更好的方法可以做到这一点,这样我就不必循环遍历列表中的所有值了?

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

返回C#中函数的listBox项

您可以通过以下方式使用Cats<T>

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

或者如果您想要List<string>:

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

不要忘记添加using System.Linq;

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

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

using System.Linq;

试试这样的东西:

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

您可以这样使用LINQ:

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

虽然这是较少的代码,但我认为它的性能将或多或少相同。