.使用razor详细信息C#asp.net核心进行拆分
要将字符串NPCSkills拆分为一个列表吗 NPCSkills是一种道具,包括一个字符串,如“枪=4,盔甲=2” 我想把它分成一个列表,这样我就可以显示它了.使用razor详细信息C#asp.net核心进行拆分,c#,asp.net-core,razor,C#,Asp.net Core,Razor,要将字符串NPCSkills拆分为一个列表吗 NPCSkills是一种道具,包括一个字符串,如“枪=4,盔甲=2” 我想把它分成一个列表,这样我就可以显示它了 项目1 第2项 我正在做分割,但不知道现在该做什么 string[] Words = (Model.NPCSkills).Split(','); foreach (var item in Words) { <li> @item.Words </li> } string[]Wo
string[] Words = (Model.NPCSkills).Split(',');
foreach (var item in Words)
{
<li>
@item.Words
</li>
}
string[]Words=(Model.NPCSkills).Split(',');
foreach(var项目大写)
{
@项目.文字
}
string
不包含“Words”的定义,并且找不到接受类型为string
的第一个参数的扩展方法“Words”(是否缺少using指令或程序集引用?)
+@item.Words您可以使用以下代码将
NPCSkills
(逗号分隔字符串
)转换为强类型的词典
:
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>
}
@foreach(文字中的变量项)
{
@项目.关键
@项目.价值
}
例如,您可以创建两个列表。检查道具,并将其添加到相应的列表中。事实上,你们不需要一个循环,所以若你们使用LINQ,你们只想在列表中显示枪、盔甲而不是数字?string[]Words=(Model.NPCSkills).Split(',');foreach(单词中的var项){@item }
只需删除单词,它就可以工作了