C# 无法定位图像

本文关键字:图像 定位 | 更新日期: 2023-09-27 18:31:45

我有这段代码

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

它应该给我文件夹中所有图像文件的位置。但是它根本不起作用,它只给了我 0 个字符串。为什么?图像位置为:_Poker''扑克''宾''调试''资产''牌''Pack_Classic

C# 无法定位图像

GetFiles需要一个绝对的文件路径才能以可靠的方式工作。从反射中获取它(通过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也适用于从当前工作目录开始的相对路径。问题是你并不总是知道那个在哪里!它可以与可执行文件所在的目录不同。