【发布时间】:2011-09-02 15:57:41
【问题描述】:
Dim query = From o In myContainer.MyObjects Select o.MyStringProperty Distinct
Dim myProperties As List(Of String) = query.ToList????? 'no way!!!'
“查询”类型为 IEnumerable(Of String)
我尝试将query 直接用作(infragistic)组合框的数据源,但它会抛出 NullReferenceException,因此我决定将其转换为字符串列表,以成为更“经典”的数据源。
Dim values As List(Of String) = query.AsQueryable().ToList()
也不起作用:“System.Collections.Generic.List(Of System.Linq.IQueryable(Of String))”类型的值不能转换为“System.Collections.Generic.List(Of String)” )'。
【问题讨论】:
-
确保您有 Option Strict On。如果您有 Option Strict Off,您的查询可能会将结果推断为 IEnumerable(Of Object) 而不是字符串,并且 ToList 没有正确转换它。否则,删除 As List(Of String) 并查看推理返回的类型。我怀疑你在编译器隐藏的某个地方发生了隐式转换。