我有一个看起来像这样的JArray:
我正在使用下面的代码来获得预期的结果: 6035940:8061090,6035940:8084337
.
我可以用Linq清理它吗?怎么样?
public static string GiveClientCampaignParam(JArray myArray)
{
StringBuilder sb = new StringBuilder();
foreach (var arrayItem in myArray)
{
string clientId = arrayItem["ClientId"].ToString();
string campaignId = arrayItem["CampaignId"].ToString();
sb.Append(clientId + ":" + campaignId + ",");
}
sb.Remove(sb.Length - 1, 1);
return sb.ToString();
}
Run Code Online (Sandbox Code Playgroud)
这应该工作.
return string.Join(",", myArray.Select(a => a["ClientId"] + ":" + a["CampaignId"]));
Run Code Online (Sandbox Code Playgroud)
使用string.Join和Select将 JArray 元素投影到字符串:
public static string GiveClientCampaignParam(JArray myArray)
{
return string.Join(",", myArray.Select(j => $"{j["ClientId"]}:{["CampaignId"]}"));
}
Run Code Online (Sandbox Code Playgroud)
使用string.Join还意味着您不需要从末尾减去额外的逗号。