All upper code is not correct to the end.
This is because when searching zz*foo* or zz* you will not get correct results.
And if you search "abcd*" in "abcd" in TotalCommander will he find a abcd file so all upper code is wrong.
Here is the correct code.
public string WildcardToRegex(string pattern){ string result= Regex.Escape(pattern). Replace(@"\*", ".+?"). Replace(@"\?", "."); if (result.EndsWith(".+?")) { result = result.Remove(result.Length - 3, 3); result += ".*"; } return result;}