在没有for循环的情况下为列表中的所有整数添加3#

kar*_*tal -2 c# for-loop list

我想在list<int>不使用for循环或foreach循环的情况下加3到所有成员?我能在一行中做到这一点吗?怎么样?

Jon*_*eet 14

某个地方的东西必须循环.你不必循环中代码,但是有什么地方将不得不.

我无法想到任何会修改列表中所有元素的方法,但使用LINQ可以轻松创建一个 元素List<int>:

var plusThree = originalList.Select(x => x + 3).ToList();
Run Code Online (Sandbox Code Playgroud)

或LINQ之前(稍微更有效,但也更List<T>具体):

var plusThree = originalList.ConvertAll(x => x + 3);
Run Code Online (Sandbox Code Playgroud)

但这两个都在幕后循环.

您可以创建一个投影IList<T>实现,懒惰地应用投影(或者如果您想真正想要的话可​​能是双射)......但这将是大量的工作.