如何在每个字符串之间用逗号分割数组?
Posted
技术标签:
【中文标题】如何在每个字符串之间用逗号分割数组?【英文标题】:How do i chop up an array with a comma between every string? 【发布时间】:2019-02-23 08:46:49 【问题描述】:我有一个用这个查询创建的数组:
public string[] Scores get; set;
var scoresBetted = _context.Bet.Where(i => i.MatchId == id)
.Select(a => a.ScoreBetted).ToArray(); //ScoreBetted type string
Scores = scoresBetted;
我现在想切碎数组,使其像这样出现,例如:"1-1","4-2","2-1"
等。我认为这需要与 foreach
循环有关,但我找不到我该怎么做它。
我之所以要这样做是因为我想在图表中动态创建 c3 类别,而这些类别是一个数组,example here
【问题讨论】:
在 C# 中 string.Join() 是方法。阅读并使用它。 我已经尝试过var test = string.Join(",", Model.Scores);
,但这就是像"1-1,4-2"
这样的字符串中的全部内容
Model.ListOfScores 之前的样子如何?
对不起,ListOfScores 是分数,在我把它变成一个数组之前它被称为 ListOfScores
【参考方案1】:
尝试使用
var test = string.Join(@",", Model.ListOfScores.Select(x => $"'x'"));
这意味着它首先将每个项目放入' '
,然后以分隔,
加入您的数组
版本Fiddle
【讨论】:
为什么不让String.Join
完成所有工作?此外,您忘记在开头和结尾添加引号。喜欢:var test = @"""" + string.Join(@""",""", new List<string> "x", "y") + @"""";
嗯,这就是我想要的,但是当我启动应用程序时,类别结果如下:categories: [&quot;1-1&quot;,&quot;4-1&quot;]
@CarstenFranke string.Join(@""",""", new List<string> "x", "y")
你可以试试这个代码,看看它不像OP想要的那样工作......
@user10384441 您需要的是“”,而不是“”。查看我的答案更新
如果你想避免字符编码,你必须在输出上使用html.Raw
,见msdn.microsoft.com/query/… 单引号现在可以工作。但是如果数组的内容有一些特殊字符,它们也会被编码。所以你应该从一开始就做。以上是关于如何在每个字符串之间用逗号分割数组?的主要内容,如果未能解决你的问题,请参考以下文章