【问题标题】:Which is the correct method of outputting numbers, based on the count of strings in a list<>根据列表<>中字符串的计数,这是输出数字的正确方法
【发布时间】:2021-02-03 23:07:26
【问题描述】:

我正在尝试遍历一个集合,以获取项目的总数,并且 将数字附加到每个项目。

例如,我的收藏中有两个项目。

@QuizItem.QuitTitle 包含两个字符串,我想要实现的是 循环遍历集合,输出项目数量...

  1. 音乐
  2. 英语

我的代码 -

 @foreach (var QuizItem in QuizDetails)
    {

        @for (int i = 1; i < indexCount; i++)
         {
                 indexCount = i;

             {
                <p style="font-weight:bolder">@indexCount @QuizItem.QuizTitle</p>
             }

         }

在 OnInitialized() 方法中

indexCount = QuizDetails.Count();

以上没有结果..

如果我取出 forloop 我会提出我的问题.. 但显然 count 在两个问题上都显示为 2...

以下示例

我尝试了很多不同的方法,但都无济于事。我只想让它分别按标题说 1 和 2,而不是 2 和 2。

有人可以帮忙吗?

【问题讨论】:

  • 你试过用QuizDetails.Length替换indexCount吗?并删除indexCount,你不应该需要它...
  • 您是否了解过循环中会发生什么?具体来说,当你设置 indexCount = i 时会发生什么?拿起笔和纸,计算出一个循环的迭代......
  • @Pieterjan 不能这样做,因为 QuizDetails 是 List 类型,因此它不包含长度定义
  • 我正在努力解决这个问题@devlincarnate。被困在这个问题上大约 4 个小时,让我发疯。任何帮助表示赞赏。
  • 我认为你只需要一个循环。

标签: c# html loops blazor


【解决方案1】:

您应该使用 foreach 循环而不是 for 循环,它在 Blazor 中往往会更好地工作。如果你需要一个计数器,你在循环体中++ 的作用域变量将提供

【讨论】:

    【解决方案2】:

    无论如何我都解决了我的问题,希望它会有所帮助,将来会有所帮助。

    @foreach (var QuizItem in QuizDetails)
        {
    
            @for (int i = 0; i <= indexCount; i++)
            {
                //indexCount = i;
                if (i == 0)
                {
                    i++;
                    if (temp == 0)
                    {
                        temp = i;
                    }
    
                    @for (int b = temp; b <= indexCount; b++ )
                    {
    
                     {
                            <p style="font-weight:bolder">@b @QuizItem.QuizTitle</p>
                            if (temp <= indexCount)
                            {
                                temp++;
                                break;
                            }
                     }
                }
             }
    
        }
    

    temp 是一个 int 值,我初始化为 0..

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-05-31
      • 2013-11-10
      • 1970-01-01
      • 1970-01-01
      • 2018-05-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多