gpt4 book ai didi

c# - 如果其中一个属性为 NULL,则此 LINQ 语句会崩溃。我怎样才能解决这个问题?

转载 作者:行者123 更新时间:2023-11-30 18:57:19 25 4
gpt4 key购买 nike

当列表中的每个 gameServer 都有一个 connectedClients 的集合时,我有以下 linq 语句非常有效。

但是当 connectedClientnull 时,查询会崩溃。

如何防止崩溃?

var connectedClients = (from x in gameServers
from y in x.ConnectedClients
select new
{
x.Name,
x.GameType,
ConnectedClients = new
{
y.ClientName,
y.ConnectedOn,
y.ClientIpAddressAndPort
}
}).ToList();

和..

public class GameServer
{
public int Id;
public ICollection<Client> ConnectedClients;
...
}

最佳答案

如果为 null,则使用一个非 null 的值:

var connectedClients = (
from x in gameServers
from y in x.ConnectedClients ?? Enumerable.Empty<Client>()
// ...

?? 称为 the null-coalescing operator .

关于c# - 如果其中一个属性为 NULL,则此 LINQ 语句会崩溃。我怎样才能解决这个问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8165501/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com