Я использую Linux в течение многих лет и по привычке я добавил / (косая черта) вместо \ (обратная косая черта) для пути к моему c # коду.
private const string X86DllPath = "x86/ShaferFilechck.dll"; // should use x86\\ShaferFilechck.dll
private const string X64DllPath = "x64/ShaferFilechck.dll";
[DllImport(X64DllPath, EntryPoint = "NalpLibOpen", CallingConvention = CallingConvention.Cdecl)]
private static extern int NalpLibOpen_64(byte[] xmlParms);
Код работает, но мне интересно, если c # переводит косую черту в обратную косую черту при компиляции и запуске в Windows.Есть ли официальная документация, подтверждающая это или что-то в этом роде.
Может ли использование / in path привести к неожиданному поведению при некоторых обстоятельствах.
Обновление:
Я знаю, что окончательным решением было бы использовать это, но мне интересно, почему слэш все еще в порядке:
Path.Combine("x86", "ShaferFilechck.dll"); // x86\ShaferFilechck.dll