[英]Trimming all strings from an array in c#
我用這段代碼來獲取目錄的內容:
string[] savefile = Directory.GetFiles(mcsdir, "*.bin");
comboBox1.Items.AddRange(savefile);
它返回為
C:\Users\Henry\MCS\save1.bin
C:\Users\Henry\MCS\save2.bin
我怎樣才能讓它返回
save1.bin
save2.bin
請注意,這個應用程序將被其他人使用,因此名稱並不總是“亨利”。 謝謝。
我建議使用DirectoryInfo.GetFiles
,而LINQ:
FileInfo[] savefile = new DirectoryInfo(mcsdir).GetFiles("*.bin");
comboBox1.Items.AddRange(savefile.Select(x => x.Name).ToArray());
使用LINQ :
var strs = savefile.Select(a => Path.GetFileName(a)).ToArray();
看一下minitech的建議 :只要你得到FileInfo[]
類型的數組,就沒有必要將它轉換為字符串數組。 只需將屬性DisplayMember
設置為要在ComboBox
顯示的屬性名稱即可。
FileInfo[] savefile = new DirectoryInfo(mcsdir).GetFiles("*.bin");
comboBox1.DisplayMember = "Name";
comboBox1.DataSource = savefile;
使用此方法,您可以保留原始FileInfo[]
數組以及所有其他信息(關於文件的完整路徑),同時只顯示控件中的短文件名(無路徑)。
(我假設您的問題是關於WinForms。如果您使用的是Silverlight或WPF,則需要使用“Target”屬性設置屬性)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.