Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net Linq查询If语句_Vb.net_Linq - Fatal编程技术网

Vb.net Linq查询If语句

Vb.net Linq查询If语句,vb.net,linq,Vb.net,Linq,好的,我试着在Linq中做一个if语句,想知道是否有可能做如下事情: Dim loadFriends = From p In db.UserRelationships Where p.aspnet_User.UserName = User.Identity.Name _ Or p.aspnet_User1.UserName = User.Identity.Name And p.Type = 1 _

好的,我试着在Linq中做一个if语句,想知道是否有可能做如下事情:

            Dim loadFriends = From p In db.UserRelationships Where p.aspnet_User.UserName = User.Identity.Name _
                          Or p.aspnet_User1.UserName = User.Identity.Name And p.Type = 1 _
                          Select New With {if p.aspnet_user1.user = "a certan username" then .username = _
                                          p.aspnet_user.username else .username = p.aspnet_user1.Username}
提前谢谢

谢谢蒂龙鲍尔

以下是其他人是否有相同问题的查询:

Dim loadFriends = From p In db.UserRelationships Where p.aspnet_User.UserName = User.Identity.Name _
                          Or p.aspnet_User1.UserName = User.Identity.Name And p.Type = 1 _
                          Select New With {.username = If((p.aspnet_User1.UserName = User.Identity.Name), p.aspnet_User.UserName, p.aspnet_User1.UserName)}
我不知道VB,但在c#is中会是

 username = (p.aspnet_user1.user == "a certan username")? aspnet_user.username:p.aspnet_user1.Username

我假设VB.NET会有三元语法,这在很大程度上取决于数据源。您是在使用Linq to SQL、Linq to Objects还是其他什么?嗨,guffa,我在使用Linq to SQLVB.NET的等价物是IFF语句:IFF(p.aspnet_user1.user=“a sour username”,aspnet_user.username,p.aspnet_user1.username)@avanek,最好使用IF运算符(仅用一个I拼写),因为它会短路,尽管在这种情况下,这可能没什么区别。@Chris Dunaway,我不知道,谢谢你的提醒!轻微更正:我认为@avanek所说的是(eye eye eff),而不是IFF(eye eff eff)。如果有eye eff eff,我无法在MSDN网站上找到它。