【发布时间】:2020-01-01 17:20:43
【问题描述】:
我有一个由品牌名称组成的一维数组,并希望以列大小固定为“3”并且行号随着数组大小的增长而扩展的格式显示它。比如数组中有11个品牌,我想这样显示;
X X X
X X X
X X X
X X
这是我尝试实现所需逻辑的嵌套 for 循环:
int brandCount = Model.CampainBrands.Count();
int colLength = brandCount < 3 ? brandCount : 3; // Toplam marka sayısının 3'ün altında olması durumunu güvenceye alır
int rowLength = brandCount / colLength + (brandCount % colLength != 0 ? 1 : 0);
int counter = 0;
for (int i = 0; i < rowLength; i++)
{
<div class="row">
@for (int j = 0; j < colLength && counter < brandCount; j++, counter++)
{
var item = Model.CampainBrands[counter];
<div class="col-md-4">
<a href="@Url.Action("List","Campain",new {brandCode = item.Code})">
<div class="card" style="width: 5rem;">
<img class="card-img-top" src="@item.ImageUrl" height="60px" width="60px" />
<div class="card-body">
<p class="card-text">@item.Name</p>
</div>
</div>
</a>
</div>
}
</div>
}
有没有办法改进这个算法?谢谢。
【问题讨论】:
-
如果它是 c# ,那么为什么不能用这三个列名作为属性创建一个自定义类型(类)。然后创建一个这种类型的列表。然后就很容易完成任务了
-
你很幸运,我没有为此对你表示不满! :P