我遇到以下情况(在使用ASP.NET的剃须刀中):
@if(@groups.Users != null)
{
@foreach(var user in @groups.Users)
{
@if(@user.UserId == VALUE)
{
CASE 01
break;
}
}
CASE 02
}
else
{
SHOW CASE 02
}
因此,如果值在@ user.UserId的集合中,那么我只需要CASE 01。并显示CASE02。
但是,因为如果该组中没有用户,那么它也应该显示CASE02。我想很简单。
现在这不起作用(在显示CASE 01之后,它还显示CASE02(由于else),否则代码可以正常工作。
我试图再做一次“休息”;在if语句中的CASE 02之后,但是它切断了我的代码?
我想我只是在这里缺少一些东西...
我希望我能解释对吗?谢谢
您的尝试不起作用,因为break
中断了foreach循环,但是代码执行在循环之后的一行(您放置了CASE 02的那一行)上继续
正确执行此操作的一种干净方法是使用LINQ:
@if (groups.Users != null && groups.Users.Any(u => u.UserId == VALUE))
{
CASE 01
}
else
{
CASE 02
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句