我有这段代码
string [] ImgLocation =
Directory.GetFiles(@"Assets\Cards\Pack_Classic\", " *.png",
SearchOption.TopDirectoryOnly);
它应该给我文件夹中所有图像文件的位置。但是它根本不起作用,它只给我0个字符串。这是为什么 ? 图片位置为: _Poker \ Poker \ bin \ Debug \ Assets \ Cards \ Pack_Classic
答案 0 :(得分:1)
GetFiles
需要绝对文件路径才能以可靠的方式工作。从Reflection(通过Assembly
类)
string exeDir = Path.GetDirectoryName(Assembly.GetEntryAssembly().Location);
string fullPath = Path.Combine(exeDir, @"Assets\Cards\Pack_Classic");
string[] ImgLocation = Directory.GetFiles(fullPath, "*.png", SearchOption.TopDirectoryOnly);
exeDir
是您的bin\Debug
文件夹。
注意:GetFiles
也适用于从当前工作目录开始的相对路径。问题是你并不总是知道那个人在哪里!它可以与可执行文件所在的目录不同。