gpt4 book ai didi

c# - 如何为数组内联样式中的每个项目添加值

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

假设我有一个数组

string[] arr = new string[] {"1","2","3"};

我想在值的末尾添加一个字符串,如下所示:

arr.appendToEnd(" Test");

return arr; // returns {"1 Test","2 Test","3 Test"}

我想知道是否有内置的东西可以做到这一点,而不必构建我自己的扩展方法。

最佳答案

没有任何内置的东西。您可以使用 LINQ 轻松创建数组:

arr = arr.Select(x => x + " Test").ToArray();

...但这不会修改原始数组。如果其他任何东西都引用了原始数组,他们将看不到更改。通常这实际上是 IMO 的好事,但有时您可能想要修改现有集合。

为此,您可以编写自己的通用方法来修改现有数组(或任何其他 IList<T> 实现):

public static void ModifyAll<T>(this IList<T> source, Func<T, T> modification)
{
// TODO: Argument validation
for (int i = 0; i < source.Count; i++)
{
source[i] = modification(source[i]);
}
}

然后你可以使用:

arr.ModifyAll(x => x + " Test");

我肯定会使用它而不是编写特定于字符串连接的扩展方法。

关于c# - 如何为数组内联样式中的每个项目添加值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26263326/

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