在c#中删除数组中的所有字符串
本文关键字:字符串 数组 删除 | 更新日期: 2023-09-27 18:15:45
我使用下面的代码来获取目录的内容:
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"。谢谢你。
我建议使用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"属性设置该属性)
使用Path.GetFileName(string path)