我只想从列表中获取第一个元素并将其添加到文件中。我的问题是我不确定为什么功能"采取"不起作用,因为它没有编译。
ListBox不包含' First'的定义没有推广方法' First'接受类型' ListBox'的第一个参数。可以找到(你错过了使用指令或汇编引用吗?
var firstItem = Ingredients.Take(1);
File.AppendAllText("Pizza.txt", firstItem + Environment.NewLine);
答案 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();