Directory.GetFiles上的searchPattern逻辑方法
问题描述:
我想知道Directory.GetFiles方法上的搜索模式逻辑是什么。我在搜索模式中使用星号通配符。我不明白什么样的逻辑适用于搜索,如果我把“*”前面的字符。Directory.GetFiles上的searchPattern逻辑方法
如果我把char放在char的前面,我得到了意想不到的结果,但是如果我放在char的后面,这是正确的。
这是文件夹中的文件列表,示例代码和结果。
星号在前方炭
string _strSearchPattern = "*1";
foreach (string _strFolder in Directory.GetFiles(@"C:\Temp\FileList", _strSearchPattern))
Console.WriteLine("{0}", _strFolder);
意外结果。它应该是1.为什么“b_Request”出来,但为什么不包含“b”?
星号字符
string _strSearchPattern = "1*";
foreach (string _strFolder in Directory.GetFiles(@"C:\Temp\FileList", _strSearchPattern))
Console.WriteLine("{0}", _strFolder);
这里的背后是预期的结果
它是错误,或者说我想得太多了?
谢谢!正如你所说的“b_Request”(使用8.3文件名格式“b_Requ〜1”)并且与搜索模式相匹配,这显然是我的疑问。如果我检查“dir/x”或“dir/-n“。”b_1“如何?它是否在”8.3格式“下?我在dir列表中看不到任何短文件格式。你能否再次给我提供一些信息: – ib3an
@yukon,来自*链接, 8.3文件名被限制为最多8个字符“,所以我的理解是,对于长度小于或等于8的文件路径,8.3文件名格式不适用于它们,希望它有帮助。 – Chasefornone