ディレクトリからのみ10個のファイルを返したいです。これは可能ですか?
DirectoryInfo d = new DirectoryInfo(HttpContext.Current.Server.MapPath("~/xml"));
FileInfo[] files = d.GetFiles("*.xml");
この方法ではすべてのXML ファイルが返されますが、最初の 10 個だけを取得したいと考えています。
拡張メソッド Take(10) を追加して、最初の 10 個のファイルのみを取得できます。
var d = new DirectoryInfo(HttpContext.Current.Server.MapPath("~/xml"));
var files = d.GetFiles("*.xml").OrderByDescending(fi=>fi.LastWriteTime).Take(10);
.NET4 を使用している場合は、おそらく代わりに拡張メソッドEnumerateFiles
と共に使用する必要があります。Take
var d = new DirectoryInfo(HttpContext.Current.Server.MapPath("~/xml"));
FileInfo[] files = d.EnumerateFiles("*.xml").Take(10).ToArray();
あなたはジェイクが言ったことと同じでなければなりませんが、そうではありませんFileInfo[] files
DirectoryInfo d = new DirectoryInfo("~/xml");
IEnumerable< FileInfo> files = d.GetFiles().Take(10);
OR
DirectoryInfo d = new DirectoryInfo("~/xml");
FileInfo[] files = d.GetFiles().Take(10).ToArray();
var directory = new DirectoryInfo(Tab16_mainPath);
var myFile = (from f in directory.GetFiles().Take(3)
orderby f.LastWriteTime descending
select f).ToArray();