在c#中修剪数组中的所有字符串

时间:2011-11-27 00:40:38

标签: c# arrays string trim

我使用此代码获取目录的内容:

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

请注意,这个应用程序将被其他人使用,因此名称并不总是" Henry"。 谢谢。

3 个答案:

答案 0 :(得分:6)

我建议改用DirectoryInfo.GetFiles和LINQ:

FileInfo[] savefile = new DirectoryInfo(mcsdir).GetFiles("*.bin");
comboBox1.Items.AddRange(savefile.Select(x => x.Name).ToArray());

答案 1 :(得分:3)

答案 2 :(得分:3)

使用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"属性设置属性。