【问题标题】: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

标签: javascript c# arrays entity-framework charts


【解决方案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/… 单引号现在可以工作。但是如果数组的内容有一些特殊字符,它们也会被编码。所以你应该从一开始就做。
猜你喜欢
  • 1970-01-01
  • 2014-12-19
  • 2020-08-30
  • 1970-01-01
  • 1970-01-01
  • 2022-07-06
  • 1970-01-01
  • 1970-01-01
  • 2013-07-27
相关资源
最近更新 更多