c#无法找到图像

时间:2016-01-24 23:48:47

标签: c# image file directory

我有这段代码

string [] ImgLocation =
    Directory.GetFiles(@"Assets\Cards\Pack_Classic\", " *.png",
                       SearchOption.TopDirectoryOnly);

它应该给我文件夹中所有图像文件的位置。但是它根本不起作用,它只给我0个字符串。这是为什么 ? 图片位置为: _Poker \ Poker \ bin \ Debug \ Assets \ Cards \ Pack_Classic

1 个答案:

答案 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也适用于从当前工作目录开始的相对路径。问题是你并不总是知道那个人在哪里!它可以与可执行文件所在的目录不同。