我想加3到所有list<int>
成员,而不使用for循环或foreach循环?我能做到这一点吗?怎么样?添加3到列表中的所有整数没有for循环c#
-2
A
回答
14
东西地方将不得不循环。你不必在你的代码中循环使用,但是必须要做的事情。
我想不出任何副手,这将修改所有元素的列表,但使用LINQ,你可以很容易地创建一个新的List<int>
:
var plusThree = originalList.Select(x => x + 3).ToList();
或预LINQ(及略微更高效,也更List<T>
特异性):
var plusThree = originalList.ConvertAll(x => x + 3);
但是这两个将被循环幕后。
您可能会创建一个突出IList<T>
实现其懒洋洋地应用的投影(或者可能是双射,如果你想成为真正看中的)......但是这将是显著大量的工作。
4
你必须改变列表本身的值,所以在for循环中没有其他办法,除非你允许创建一个新列表,那么你可以使用Linq(它将循环它是自己的代码)。
for(int i = 0; i < list.Count; i++) list[i]+=3;
0
另一种方式来做到这一点(ofcourse,感觉就像写foreach循环,而无需实际写它)
static void Main(string[] args)
{
List<int> list = new List<int>();
list.Add(1);
list.Add(2);
list.Add(3);
list.Add(4);
list.Add(5);
int k = 0;
list.ForEach(delegate(int i) { list[k++] = i+3; });
foreach (var item in list)
{
Console.WriteLine(item.ToString());
}
Console.ReadKey();
}
相关问题
- 1. 如何在JavaScript中使用for循环将所有正整数添加到'sum'?
- 2. Android将所有对象添加到循环后列表中
- 3. 没有for循环
- 4. Python for循环没有循环遍历所有项目
- 5. 添加一个for循环列表
- 6. 所有没有列表/数组的对象循环
- 7. 将列添加到for循环中的数据框中
- 8. 将for循环的输出添加到列表中
- 9. 我的for循环没有得到值
- 10. for循环不访问列表中的所有元素python
- 11. “For”循环没有处理所有数据行
- 12. For循环scala没有序列?
- 13. Python for循环列表与目录没有找到每个值
- 14. 没有for循环seq的间隔数
- 15. 使用for循环将列添加到SAS中的数据集
- 16. 将新属性添加到FOR循环中现有的JSON
- 17. .Net 4.0 C# - 添加到没有手动循环的集合
- 18. 在for循环中添加列R
- 19. For循环没有运行到最后?
- 20. For循环没有得到执行
- 21. 在C++中for循环中的数字之间添加加号
- 22. 有问题,在加载所有JSON数据到标记层中For循环
- 23. 是否有可能在for循环中增加整数/ genvar
- 24. 没有得到所需的输出从For循环
- 25. Java泛型,添加列表中的所有整数/向量
- 26. 通过for循环添加值后返回0列表 - c#
- 27. Opencv CvSeq *将整数值添加到序列中的所有点
- 28. Objective-C for循环到Swift 3
- 29. 在for循环中添加整数并打印总数
- 30. 为什么python for循环使用我列表的所有值?
对于真正的“预LINQ”你不得不沟拉姆达。 – 2012-01-02 10:57:06
@HenkHolterman:不行 - 只要你有C#3+编译器,你仍然可以在使用.NET 2时使用lambda表达式。希望OP不会继续使用Visual Studio 2005 :) – 2012-01-02 11:13:51