首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Visual basic LINQ误差

Visual basic LINQ误差
EN

Stack Overflow用户
提问于 2012-04-15 15:03:37
回答 2查看 153关注 0票数 0

有人知道我为什么会犯这个错误吗?

我得到了以下错误:

对象引用未设置为对象的实例

这是问题中的LINQ。谢谢你提前提供帮助。

代码语言:javascript
复制
Dim q = From line In seats
        Let data = line.Split(New [Char]() {" "c}, StringSplitOptions.RemoveEmptyEntries) ' it occurs in this line '
        Let seatA = data(0)
        Let seatB = data(1)
        Let seatC = data(2)
        Let seatD = data(3)
        Let seatE = data(4)
        Let seatF = data(5)
        Where seatA Is "."
        Where seatB Is "."
        Select seatA, seatF
EN

回答 2

Stack Overflow用户

发布于 2012-04-15 16:04:36

如果将第一行更改为:

代码语言:javascript
复制
Dim windowSeatQuery = From line In seats.Where(function (s) s isnot nothing)

这意味着座位列表中有一个空值,上面的Where lambda应该删除它们。

票数 1
EN

Stack Overflow用户

发布于 2012-04-16 17:42:23

你的地方条款在我看来很奇怪。您不应该使用=操作符,而不是Is:

代码语言:javascript
复制
Dim q = From line In seats
    Let data = line.Split(New [Char]() {" "c}, StringSplitOptions.RemoveEmptyEntries) ' it occurs in this line '
    Let seatA = data(0)
    Let seatB = data(1)
    Let seatC = data(2)
    Let seatD = data(3)
    Let seatE = data(4)
    Let seatF = data(5)
Where seatA = "." AndAlso seatB = "."   '<------   Use = on this line not Is
Select seatA, seatF

您确定每一行都是用空格而不是其他什么分隔的吗?即使有在那里,也不应该导致一名空裁判。

下面是我的示例程序,它似乎有效(在LinqPad中测试,它似乎不支持隐式行连续字符):

代码语言:javascript
复制
Sub Main
    Dim seats As New List(Of String)()
    seats.Add("1 2 3 4 5 6")
    seats.Add(". . 9 8 7 6")
    seats.Add(". . 5 5 5 5")
    seats.Add("1 2 3 4 5 6")
    seats.Add(". . 2 4 6 8")
    seats.Add("1 2 3 4 5 6")

    Dim q = From line In seats _
        Let data = line.Split(New [Char]() {" "c}, StringSplitOptions.RemoveEmptyEntries) _
        Let seatA = data(0) _
        Let seatB = data(1) _
        Let seatC = data(2) _
        Let seatD = data(3) _
        Let seatE = data(4) _
        Let seatF = data(5) _
    Where seatA = "." AndAlso seatB = "." _
    Select seatA, seatF

    q.Dump()
End Sub
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10163178

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档