显然有很多方法可以迭代集合.好奇,如果有任何差异,或为什么你使用一种方式而不是另一种方式.
第一种:
List<string> someList = <some way to init>
foreach(string s in someList) {
<process the string>
}
Run Code Online (Sandbox Code Playgroud)
另一种方式:
List<string> someList = <some way to init>
someList.ForEach(delegate(string s) {
<process the string>
});
Run Code Online (Sandbox Code Playgroud)
我认为,除了我上面使用的匿名代表之外,我还有一个你可以指定的可重用代理......
我最近开始使用LINQ并且令人惊叹.我想知道LINQ是否允许我将函数 - 任何函数 - 应用于集合的所有元素,而不使用foreach.像python lambda函数之类的东西.
例如,如果我有一个int列表,我可以使用LINQ为每个元素添加一个常量
如果我有一个数据库表,我可以使用LINQ为所有记录设置一个字段.
我正在使用C#
我最近开始涉足Windows 8地铁,发现我的一个老朋友似乎已经失踪了.
我倾向于使用该.ForEach()方法而不是使用传统的foreach()构造,并且我很快意识到这种方法不可用.例如,此代码不会在metro应用程序下编译:
var list = new List<string>();
list.ForEach(System.Diagnostics.Debug.WriteLine);
Run Code Online (Sandbox Code Playgroud)
我已经搜索过,看看我是否能找到任何关于此的讨论,但是无法进行.我只是在钝,还是它真的消失了?