【问题标题】:Why doesn't String.Join add separator on loop为什么 String.Join 不在循环上添加分隔符
【发布时间】:2020-12-31 11:05:28
【问题描述】:

我在视图上显示了我的i'th产品的类别,但我想在它们之间放置逗号。

我的观点

@for (int i = 0; i < Products.Count(); i++)
{
    <tr>
        <td>
            <span> @Model.Products[i].ProductName </span>
            @foreach (var item in Model.Products[i].ProductCategories)
            {
                <span>@string.Join(", ", item.Category.CategoryName)</span>
            }
        </td>
   </tr>

为什么 String.Join 不起作用我错过了什么

我要这个

计算机、技术、桌面

【问题讨论】:

  • 好吧,item.Category.CategoryName 只是一个元素。要加入,您至少需要 两个 元素,因此逗号可以介于两者之间。剪下你的 foreach 并选择一个数组中的类别名称。
  • @FranzGleichmann 谢谢我不知道我是怎么错过的

标签: c# arrays string


【解决方案1】:

item.Category.CategoryName 仅代表单个类别名称,这就是为什么在加入时没有添加 ,(逗号)。如果您想加入所有 ProductCategories,请使用以下代码

<tr>
        <td>
            <span> @Model.Products[i].ProductName </span>
            <span>@string.Join(", ", Model.Products[i].ProductCategories.Select(p => p.Category.CategoryName))</span>
        </td>
   </tr>

上面的代码将遍历所有ProductCategories并加入那些使用string.Join的代码

【讨论】:

    猜你喜欢
    • 2021-04-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-16
    • 2019-11-03
    相关资源
    最近更新 更多