我想反轉組合框中顯示的結果。最后保存的檔案會最先出現,目前正好相反。它出現在以下代碼中:
string[] files = Directory.GetFiles(@"C:\Test\",*.TXT");
foreach (string file in files)
{
comboBox1.Items.Add(Path.GetFileNameWithoutExtension(file));
}
根據我的研究,解決方案是:
.OrderByDescending(p => p.CreationTime).ToArray();
在某處添加。但我不知道。我所做的每一次嘗試都沒有成功。
目前:
101-00.06.52.TXT
101-00.06.54.TXT
101-00.06.56.TXT
期望的結果:
101-00.06.56.TXT
101-00.06.54.TXT
101-00.06.52.TXT
有人知道嗎?
uj5u.com熱心網友回復:
取而代之的靜態方法的Directory.GetFiles()方法,使用GetFiles()從方法DirectoryInfo類。應用OrderByDescending()它。
Directory.GetFiles():
回傳符合指定條件的檔案名
對比
DirectoryInfo.GetFiles():
從當前目錄回傳一個檔案串列。
喜歡,
DirectoryInfo di = new DirectoryInfo(@"C:\Test\"); //Get the Directory information
var allTxtFiles = di.GetFiles("*.txt") //Get all files based on search pattern
.OrderByDescending(p => p.CreationTime) //Sort by CreationTime
.Select(x => x.Name); //Select only name from FileInfo object
foreach (string file in allTxtFiles)
{
comboBox1.Items.Add(Path.GetFileNameWithoutExtension(file));
}
uj5u.com熱心網友回復:
我不知道你問題的原因。但是如果你想得到正確的結果很簡單。首先試試這個:
string[] files = Directory.GetFiles(@"C:\Test\",*.TXT");
comboBox1.ItemsSource = files;
如果結果不正確。用這個:
string[] files = Directory.GetFiles(@"C:\Test\",*.TXT");
files = files.Reverse();
comboBox1.ItemsSource = files;
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/388633.html
