NVPair数组的字符串列表
本文关键字:列表 字符串 数组 NVPair | 更新日期: 2023-09-27 18:23:35
使用API时,我需要在NVPairs数组中发送一个值,如下所示:
new[]
{
new[]
{
new NVPair
{
name = "email_address",
value = "email1@email.com"
}
},
new[]
{
new NVPair
{
name = "email_address",
value = "email2@email.com"
}
}
}
我需要能够创造这个(价值,或"email2@email.com")。
有人能提供一些指导吗?
假设你真的想要一个单元素数组的数组,我怀疑你想要:
var nvPairs = strings.Select(x => new[] { new NVPair("email_address", x) })
.ToArray();
这也是假设所讨论的NVPair
类型有一个双参数构造函数,采用名称和值。如果没有,查询就会变得更丑陋:
var nvPairs = strings.Select(x => new[] { new NVPair { name = "email_address",
value = x } })
.ToArray();
注意new[]
,以便将每个元素转换为单个元素阵列。
至少从编译时的角度来看,另一个选项是创建一个单元素外部数组,其中它的唯一元素是多元素数组:
var nvPairs = new[] { strings.Select(x => new NVPair("email_address", x))
.ToArray() };
假设您想要创建一个NVPair
s的数组,而不是一个单一元素NVPair
数组的数组,您可以使用Linq来实现这一点:
using System.Linq;
...
var strings = new[] { "email1@email.com", "email2@email.com" };
var nvpairArray = strings.Select(s => new NVPair { name = "email_address", value = s }).ToArray();
更新
NVPair[][] nvpairArrayOfArrays = strings.Select(s => new NVPair[] { new NVPair { name = "email_address", value = s } }).ToArray();