我有一个看起来像这样的 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();
}

最佳答案

使用 string.JoinSelect 将 JArray 元素投影到字符串:

public static string GiveClientCampaignParam(JArray myArray)
{
    return string.Join(",", myArray.Select(j => $"{j["ClientId"]}:{["CampaignId"]}"));
}

使用 string.Join 还意味着您不需要从末尾减去额外的逗号。

关于c# - 使用 LINQ 在 JArray 中连接字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26637176/

10-11 01:55