gpt4 book ai didi

c# - 如何使用另一个列表中的值附加到字符串列表?

转载 作者:太空宇宙 更新时间:2023-11-03 20:55:30 25 4
gpt4 key购买 nike

我有一个看起来像这样的基本列表:

List<string> gameNames = new List<string>()
{
"Zelda",
"Mario",
"Metroid",
"Splatoon",
"Xenoblade",
};

我有另一个看起来像这样的列表:

List<string> gameData = new List<string>()
{
", Nintendo, Nintendo, 2017",
"Mario, Nintendo, Nintendo, 2017",
", Nintendo, Nintendo, 2017",
", Nintendo, Nintendo, 2017",
"Xenoblade, Nintendo, Monolith, 2017",
};

我想用 gameNames 相同索引中的相应值替换 gameData 列表的第一个“,”。

所以,第一个元素应该是这样的:

"Zelda, Nintendo, Nintendo, 2017"

现在,我正在使用附加数据的 Zip 方法,但它不检查值是否为“,”,它只是附加数据。

这是一个例子:

List<string> gameData= gameNames.Zip(gameData, (x, y) => x + "," + y).ToList();

最佳答案

我建议将前导逗号逻辑添加到 lambda 中,并保持其他一切不变:

var merged = gameNames.Zip(gameData, (x, y) => x + (y.StartsWith(", ") ? String.Empty : ", ") + y).ToList();

因此它在存在的地方使用前导逗号,并在缺少的地方插入一个逗号。

OP 中澄清后的第二个版本:

var merged = gameNames.Zip(gameData, (x, y) => (y.StartsWith(", ") ? x + y : y)).ToList();

这会保留 gameNames 的值,只要它不是以逗号+空格开头,否则连接。

关于c# - 如何使用另一个列表中的值附加到字符串列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50955675/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com