c# - 如果项目不存在,则 C# foreach 循环跳过它
问题描述
我有一个像这样的循环:
@foreach(var elevation in inventory.Elevations)
{
<td>@elevation.Title</td>
}
现在我的inventory.Elevations 可能有3 或4 件物品,不会多或少。
标题可以是“A”、“B”、“C”或“D”。例如,一个库存。海拔可能有 A、C 和 D 但不是 B,而另一个可能有 B、C、D 但不是 A,而另一个可能有 A、B、D 但不是 C。如果是这种情况,我会喜欢显示<td> </td>
我将如何做到这一点?我什至不知道该怎么做才能做到这一点。
解决方案
将一个列表中的所有高程定义为var elevations = new List<string>() { "A", "B", "C", "D" };
。循环遍历每一个并检查您的inventory.Elevations
. 如果找到然后获取Title
else
。完整的代码如下。
@{
// Set all your elevations
var elevations = new List<string>() { "A", "B", "C", "D" };
}
@foreach(var e in elevations)
{
<td>@(inventory.Elevations.FirstOrDefault(x => x.Title == e)?.Title ?? " ")</td>
}
或者您可以添加具有elevations.Contains
如下条件的三元。
@{
// Set all your elevations
var elevations = new List<string>() { "A", "B", "C", "D" };
}
@foreach(var elevation in inventory.Elevations)
{
<td>@(elevations.Contains(elevation.Title) ? elevation.Title : " ")</td>
}
推荐阅读
- .net - 使用 Jenkins 自动化 TestStack White 编码的 UI 测试
- c# - 使用 Windows.Media.Ocr 是否仅支持 UWP 应用?
- android - 我的自定义组件的代码隐藏没有运行
- ruby-on-rails - 在 Rails 应用程序的查询运行时更改表名
- prestashop - 在管理控制器 Prestashop 中保存数据后重定向用户
- conv-neural-network - 在 YOLOv3 中计算所有三个尺度的损失
- c# - mono asp.net System.Web.Compilation.ParseException 父类型不是从 System.Web.UI.Page 派生的
- javascript - V-model 和 TinyMCE 不能一起工作
- java - 如何从 Cloud Firestore 的数组数据字段中获取数据?
- .htaccess - 在文件夹下使用 wordpress 设置 prestashop htaccess 文件