ASP.NET Core:如何在foreach循环中为int值添加连字符分隔?
解决方案
方法1:用String.Join简化实现(推荐)
直接通过LINQ将每个尺寸转为带<span>的字符串,再用连字符拼接,代码更简洁:
@string.Join("-", SizeList.Select(size => $"<span class=\"size\">{size}</span>"))
输出的HTML结构是:
<span class="size">14</span>-<span class="size">16</span>-<span class="size">18</span>
前端显示就是14-16-18,同时保留每个尺寸的size类样式。
方法2:保留foreach循环处理
如果一定要用foreach循环,加个标记判断是否为第一个元素,避免首尾出现多余连字符,同时去掉原代码里的空格:
bool isFirstItem = true; foreach (int size in SizeList) { if (!isFirstItem) { @"-"; } <span class="size">@size</span> isFirstItem = false; }
注意点
原代码里<span class="size">@size </span>的末尾空格是导致输出带空格的原因,不管用哪种方法都要去掉这个多余空格。
内容的提问来源于stack exchange,提问作者RoyalDesigner
相关产品推荐
相关产品推荐

