You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C#如何给URL字符串数组中的每一个元素追加指定后缀文本

问题原因

你调用Append方法失败的核心原因是C#的string类型本身没有提供Append实例方法,该方法属于StringBuilder类,普通字符串追加直接使用+运算符即可实现。

实现方案

方案1:单次遍历完成替换+追加(性能最优)

直接在原有循环中同时完成内容替换和后缀拼接,无需额外遍历数组:

var jsonString = response.Content;        
var jsonDeserialized = JsonConvert.DeserializeObject<Root>(jsonString);
var projects = jsonDeserialized.value.Select(value => value.url).ToArray();

// 提前定义固定后缀,方便后续统一修改
const string suffix = "/_apis/release/releases?minCreatedTime=2021-08-31&api-version=5.0";

for (int i = 0; i < projects.Length; i++)
{
    projects[i] = projects[i].Replace("_apis/projects/", string.Empty) + suffix;
}
        
foreach (var url in projects)
{
    Console.WriteLine(url);
}
Console.ReadLine();

方案2:LINQ链式写法(代码最简洁)

直接在取值阶段完成所有处理,无需单独写循环:

const string suffix = "/_apis/release/releases?minCreatedTime=2021-08-31&api-version=5.0";
var jsonString = response.Content;        
var jsonDeserialized = JsonConvert.DeserializeObject<Root>(jsonString);
var projects = jsonDeserialized.value
    .Select(v => v.url.Replace("_apis/projects/", string.Empty) + suffix)
    .ToArray();
        
foreach (var url in projects)
{
    Console.WriteLine(url);
}
Console.ReadLine();

额外优化(可选)

如果担心拼接出现双斜杠问题,可以增加斜杠校验逻辑:

var processedUrl = projects[i].Replace("_apis/projects/", string.Empty);
projects[i] = processedUrl.EndsWith('/') ? $"{processedUrl}{suffix.TrimStart('/')}" : $"{processedUrl}{suffix}";

内容的提问来源于stack exchange,提问作者Sherpa11

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 21:06:03