如何在每个字符串之间用逗号分割数组?

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: ["1-1","4-1"] @CarstenFranke string.Join(@""",""", new List<string> "x", "y") 你可以试试这个代码,看看它不像OP想要的那样工作...... @user10384441 您需要的是“”,而不是“”。查看我的答案更新 如果你想避免字符编码,你必须在输出上使用html.Raw,见msdn.microsoft.com/query/… 单引号现在可以工作。但是如果数组的内容有一些特殊字符,它们也会被编码。所以你应该从一开始就做。

以上是关于如何在每个字符串之间用逗号分割数组?的主要内容,如果未能解决你的问题,请参考以下文章

java中如何将字符数组转换成字符串,以逗号分割

如何把一段逗号分割的字符串转换成一个数组?

PHP:用逗号分割字符串,但不是在大括号或引号之间?

如何在 Java 中用逗号和换行符 (\n) 分割字符串? [复制]

8. shell将字符串以逗号分割转成数组(借助IFS)

如何将字符串列表连接在一起,每个值之间用逗号分隔?