簡體   English   中英

.split with razor details C#asp.net core

[英].split with razor details C# asp.net core

想要采用字符串NPCSkills並將其拆分為列表

NPCSkills是一種道具,其中包括"guns = 4, armor = 2"類的字符串"guns = 4, armor = 2"我希望將其拆分為一個列表,以便可以顯示它

  • 項目1
  • 項目2
  • 我正在執行.split,但不確定現在要做什么。

     string[] Words = (Model.NPCSkills).Split(',');
     foreach (var item in Words)
     {
         <li>
         @item.Words
         </li>
     }
    

    string不包含'Words'的定義,也找不到擴展方法'Words'接受string類型的第一個參數(您是否缺少using指令或程序集引用?)+ @ item.Words

    您可以使用以下代碼將NPCSkills (以comma-separated string )轉換為強類型的Dictionary

    var Words = (Model.NPCSkills)
        .Split(',')
        .Select(s => s.Split("="))
        .ToDictionary(arr => arr[0], arr =>arr[1] );
    

    或者,如果您想刪除鍵/值對周圍的空格,請執行以下操作:

    var Words = (Model.NPCSkills)
        .Split(',')
        .Select(s => s.Split("=").Select(e => e.Trim()).ToArray())
        .ToDictionary(arr => arr[0], arr =>arr[1]);
    

    現在,您可以以更安全的方式渲染它:

    @foreach(var item in Words)
    {
        <li>
            <span class="badge">@item.Key</span>
            <span class="text">@item.Value</span>
        </li>
    }
    

    暫無
    暫無

    聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

     
    粵ICP備18138465號  © 2020-2024 STACKOOM.COM