C# 在c中修剪数组中的所有字符串#
我使用以下代码获取目录的内容:C# 在c中修剪数组中的所有字符串#,c#,arrays,string,trim,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”。 谢谢。使用。使用
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”。
谢谢。使用。使用:
查看minitech的建议:
只要获得类型为FileInfo[]
的数组,就不需要将其转换为字符串数组。只需将属性DisplayMember
设置为要在组合框中显示的属性名称即可
FileInfo[] savefile = new DirectoryInfo(mcsdir).GetFiles("*.bin");
comboBox1.DisplayMember = "Name";
comboBox1.DataSource = savefile;
使用此选项,您可以将原始的FileInfo[]
数组与所有其他信息(关于文件的完整路径)一起保留,同时只显示控件中的短文件名(不带路径)
(我假设您的问题是关于WinForms的。如果您使用Silverlight或WPF,则需要使用“Target”属性设置属性)。我建议改为使用DirectoryInfo.GetFiles
和LINQ:
FileInfo[] savefile = new DirectoryInfo(mcsdir).GetFiles("*.bin");
comboBox1.Items.AddRange(savefile.Select(x => x.Name).ToArray());
谢谢,伙计,我会用这个。。。因为您的另一个答案返回字符串。@user1067461:这不是我的答案:)我只是编辑了它,因为它的结尾没有句点。不过还是谢谢你。
FileInfo[] savefile = new DirectoryInfo(mcsdir).GetFiles("*.bin");
comboBox1.Items.AddRange(savefile.Select(x => x.Name).ToArray());