我的目的是让我的应用程序在Windows和Linux上运行.
该应用程序将使用某种目录结构,例如
appdir/
/images
/sounds
Run Code Online (Sandbox Code Playgroud)
处理windows和linux之间的文件(路径)命名差异的好方法是什么?我不想为每个平台编码变量.例如伪代码
if #Win32
string pathVar = ':c\somepath\somefile.ext';
else
string pathVar = '/somepath/somefile.ext';
Run Code Online (Sandbox Code Playgroud)
SLa*_*aks 17
你可以使用Path.DirectorySeparatorCharacter常量,它将是\或/.
或者,使用创建路径Path.Combine,这将自动插入正确的分隔符.
如何使用System.IO.Path.Combine来形成你的路径?
窗口示例:
var root = @"C:\Users";
var folder = "myuser";
var file = "text.txt";
var fullFileName = System.IO.Path.Combine(root, folder, file);
//Result: "C:\Users\myuser\text.txt"
Run Code Online (Sandbox Code Playgroud)
Linux 示例:
var root = @"Home/Documents";
var folder = "myuser";
var file = "text.txt";
var fullFileName = System.IO.Path.Combine(root, folder, file);
//Result: "Home/Documents/myuser/text.txt"
Run Code Online (Sandbox Code Playgroud)