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

如何通过迭代器遍历字符串数组动态构建JSON对象参数列表?

问题:动态生成TemplateParameter列表

我正在创建一个要发送至服务器的JSON对象,当前代码实现如下:

components = new List<TemplateComponent>
{
    new TemplateComponent
    {
        type = "body",
        parameters = new List<TemplateParameter>
        {
            new TemplateParameter { type = "text", text = args[0] },
            new TemplateParameter { type = "text", text = args[1] },
            new TemplateParameter { type = "text", text = args[2] },
            new TemplateParameter { type = "text", text = args[3] },
            new TemplateParameter { type = "text", text = args[4] }
        }
    }
};

现在的问题是,变量args是一个string类型数组,长度动态可变,请问如何修改代码,通过迭代器逐个遍历args来创建每个TemplateParameter,而非像现在这样写死5次重复代码?


解决方案

方式1:使用LINQ快速转换

利用LINQ的Select方法可以简洁完成数组到TemplateParameter列表的转换:

components = new List<TemplateComponent>
{
    new TemplateComponent
    {
        type = "body",
        parameters = args.Select(arg => new TemplateParameter { type = "text", text = arg }).ToList()
    }
};

这段代码会遍历args中的每一个元素,将其转换为对应的TemplateParameter对象,最后通过ToList()方法转换为List<TemplateParameter>类型,直接赋值给parameters属性。

方式2:使用foreach循环手动构建

如果更习惯传统循环写法,可以用foreach迭代args并逐个添加元素:

var parameterList = new List<TemplateParameter>();
foreach (var arg in args)
{
    parameterList.Add(new TemplateParameter { type = "text", text = arg });
}

components = new List<TemplateComponent>
{
    new TemplateComponent
    {
        type = "body",
        parameters = parameterList
    }
};

先初始化一个空的List<TemplateParameter>,遍历args数组时创建对应的TemplateParameter并添加到列表中,最后将列表赋值给parameters属性。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 08:00:25