listBox的第一个元素c#

时间:2018-02-22 18:25:02

标签: c# windows-forms-designer

我只想从列表中获取第一个元素并将其添加到文件中。我的问题是我不确定为什么功能"采取"不起作用,因为它没有编译。

ListBox不包含' First'的定义没有推广方法' First'接受类型' ListBox'的第一个参数。可以找到(你错过了使用指令或汇编引用吗?

var firstItem = Ingredients.Take(1);

File.AppendAllText("Pizza.txt", firstItem + Environment.NewLine);

2 个答案:

答案 0 :(得分:2)

Take将创建一个IEnumerable,其中包含指定为参数的元素数。您正在寻找First()

var firstItem = Ingredients.First();

File.AppendAllText("Pizza.txt", firstItem + Environment.NewLine);

如果列表为空First将抛出异常。如果列表为空,FirstOrDefault将返回null(如果IEnumerable是结构,则返回默认类型),根据您的使用情况,您应该决定哪个更适合您。

修改

问题中的列表不是List<T>,而是澄清了ListBox。您可以使用Items属性,使用Cast获取IEnumerable<T>,然后使用Fist。我假设ListBox中的对象是string,但您应该将其更改为您使用的任何类型:

listBox1.Items.Cast<string>().FirstOrDefault();  

答案 1 :(得分:0)

使用.First().FirstOrDefault()

using System.Linq; // don't forget to add this.

var firstItem = yourList.First();