String.Format("Hello {-6ren">
gpt4 book ai didi

c# - Lambda 表达式如何对 List 执行 String.Format?

转载 作者:太空狗 更新时间:2023-10-29 22:17:59 26 4
gpt4 key购买 nike

我有一个这样的列表:

List<String> test = new List<String> {"Luke", "Leia"};

我想使用这样的东西:

test.Select(s => String.Format("Hello {0}", s));

但它不会调整列表中的名称。有没有办法使用 lambda 表达式来改变这些?还是因为字符串是不可变的所以这不起作用?

最佳答案

Select不修改原始集合;它会创建一个新的 IEnumerable ,您可以使用 foreach 枚举它或将其转换为列表:

List<String> test2 = test.Select(s => String.Format("Hello {0}", s)).ToList();

test 仍然包含 “Luke”“Leia”test2 包含 “Hello Luke”“你好 Leia”


如果您想使用 lambda 表达式修改原始列表,您可以将 lambda 表达式分别应用于每个列表项并将结果存储回集合中:

Func<string, string> f = s => String.Format("Hello {0}", s);

for (int i = 0; i < test.Count; i++)
{
test[i] = f(test[i]);
}

关于c# - Lambda 表达式如何对 List<String> 执行 String.Format?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1980492/

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