【发布时间】:2013-12-05 07:49:25
【问题描述】:
好的,我是 Linq 的新手,我正在使用 VB.NET。给定具有 2 个属性的对象列表,称为 AttributeVariable 和 AttributeValue,我想为集合中具有特定 AttributeVariable 值的第一项选择 AttributeValue。这是我的开始:
Dim query = From c In items
Where c.AttributeVariable = "thename"
Select c.AttributeValue
酷,它有效,我可以为每个查询结果写出结果。
由于 c.AttributeValue 是一个字符串,将列表中的第一项(只有一个)分配给字符串变量的最简单方法是什么?
【问题讨论】:
-
看到
FirstOrDefault?无论如何,您可以做很多事情......就像在Enumerableextension methods 中找到的那些。 -
@user2864740,正确的方法语法,但他们正在使用查询语法。
-
@AshBurlaczenko 查询语法只是一个漂亮的包装器:
(someQueryThatResultsInAnIEnumerable).FirstOrDefault()可以正常工作。那么这只是如何/是否转换为查询语法的问题(它只是被编译器转换回方法调用)。我什至不知道如何用 just 查询语法编写它,这很好,因为它最终无关紧要。 -
(顺便说一句,我对标题投了反对票 - 确保标题总结了实际问题/问题。虽然 Enumerable 的基本操作是“迭代”,这可能会导致许多不同的查询和转换:过滤、映射、分组、跳过、聚合、连接……甚至只是获取第一个值,如果它存在的话。)