C# 如何使用LINQ更改字符串列表?

C# 如何使用LINQ更改字符串列表?,c#,C#,我有以下字符串列表: List<string> result = new List<string>(); result.Add("dummy1"); result.Add("dummy2"); result.Add("dummy3"); result.Add("dummy4"); 我知道我可以使用for循环迭代结果变量,并将新字符串放入项中 但我的问题是如何使用LINQ将其更改为object?您可以尝试,例如: var newList = result.S

我有以下字符串列表:

List<string> result = new List<string>();      

result.Add("dummy1");
result.Add("dummy2");
result.Add("dummy3");
result.Add("dummy4");
我知道我可以使用for循环迭代结果变量,并将新字符串放入项中

但我的问题是如何使用LINQ将其更改为object?

您可以尝试,例如:

var newList = result.Select(r=>r+"-aaa").ToList();

你可以这样写:

result = result.Select(s => $"{s}-aaa").ToList();
或低于C6


是否需要修改现有列表,或者是否愿意创建新列表?LINQ是面向查询的;它本身不提供修改功能。字符串是不可变的,您实际上是在用新字符串替换元素。试试这个。result.selector=>string.Concatr,-aaa.ToList@DaisyShipton,我只想在结果中添加新字符串。@Michael:我不清楚这是否能回答这个问题。您现在得到了两个答案,它们都不会修改现有列表-它们都会创建新列表。如果有另一个变量引用了现有列表,则不会观察到创建新列表选项的任何更改。$的含义是什么?它定义了一个插值字符串。请参阅$-is字符。字符串插值在编译时转换为。
result = result.Select(s => $"{s}-aaa").ToList();
result = result.Select(s => string.Format("{0}-aaa", s)).ToList();