gpt4 book ai didi

c# - 在 List.ForEach ForEach 方法中更改元素值

转载 作者:IT王子 更新时间:2023-10-29 04:25:59 24 4
gpt4 key购买 nike

我有以下代码:

newsplit.ToList().ForEach(x => x = "WW");

我希望列表中的所有元素现在都是“WW”,但它们仍然是原始值。怎么来的?我需要做什么不同的事情?

最佳答案

假设newsplit是一个 IEnumerable<string> ,你想要:

newsplit = newsplit.Select(x => "WW");

您当前拥有的代码等同于以下内容:

foreach(string x in newsplit.ToList()) {
AssignmentAction(x);
}

...

public static void AssignmentAction(string x) {
x = "WW";
}

此方法不会修改 x因为 C# 的按值传递语义和字符串的不可变性。

关于c# - 在 List<T>.ForEach ForEach 方法中更改元素值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1160217/

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