Bud*_*Joe 1 .net c# linq loops
我是LINQ的新手.这是我到目前为止的代码:
public class Folder
{
public Folder(string path)
{
string[] files = Directory.GetFiles(path);
IList<FileInfo> fis = new List<FileInfo>();
files.SomeMethod(x => fis.Add(new FileInfo(x)));
}
}
Run Code Online (Sandbox Code Playgroud)
使用此替换SomeMethod以使其工作的正确方法名称是什么?我基本上只是喜欢在这里编写循环的更简洁的方法.
Sco*_*vey 13
听起来你正在寻找类似List中ForEach函数的东西.你可以做以下......
files.ToList().ForEach(x => fis.Add(new FileInfo(x)));
Run Code Online (Sandbox Code Playgroud)
或者你可以做一些像这样更直接的方法
IList<FileInfo> fis = (from f in Directory.GetFiles(path)
select new FileInfo(f)).ToList();
Run Code Online (Sandbox Code Playgroud)
要么...
IList<FileInfo> fis = Directory.GetFiles(path).Select(s => new FileInfo(s)).ToList();
// or
IList<FileInfo> fis = Directory.GetFiles(path)
.Select(s => new FileInfo(s))
.ToList();
Run Code Online (Sandbox Code Playgroud)
或者 - 根本不使用任何linq,这个怎么样?...
IList<FileInfo> fis = new List<FileInfo>(new DirectoryInfo(path).GetFiles());
Run Code Online (Sandbox Code Playgroud)