簡體   English   中英

在c#中修剪數組中的所有字符串

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM