【发布时间】:2011-03-24 12:08:14
【问题描述】:
自从我使用 lambda 表达式或 LINQ 以来已经有一段时间了,我想知道如何使用这两种方法来执行以下操作(我知道我可以使用 foreach 循环,这只是出于好奇)。
我有一个字符串路径数组(这里是数组还是列表有区别吗?),我想从中返回一个仅包含文件名的新列表。
即使用 foreach 循环将是:
string[] paths = getPaths();
List<string> listToReturn = new List<string>();
foreach (string path in paths)
{
listToReturn.add(Path.GetFileName(path));
}
return listToReturn;
我如何对 lambda 和 LINQ 做同样的事情?
编辑:在我的例子中,我使用返回的列表作为 ListBox (WPF) 的 ItemsSource,所以我假设它需要是一个列表而不是 IEnumerable ?
【问题讨论】:
-
也许SO中已经有类似的问题了?
-
重新编辑:是的,在最后阶段使用 .ToList()。