我在 Unity 3D 中開發(fā),有時會編寫編輯器工具。有時我會遇到目錄分隔符的問題。例如,Unity API 始終使用“/”來請求 AssetDatabase 路徑。但是 IO 類,如文件、目錄或路徑使用系統(tǒng)分隔符,因此它在 Windows 上是“\”,在 macOS 上是“/”。即使在 Windows 上也可以讓它們默認(rèn)使用“/”嗎?也許有一些我可以在運(yùn)行時初始化階段初始化的文件?每次都用'/'替換'\'來統(tǒng)一API調(diào)用很煩人。我的代碼現(xiàn)在看起來像這樣,我認(rèn)為它很丑陋:foreach (var prefabPath in prefabPaths){#if UNITY_EDITOR_WIN prefabPath = prefabPath.Replace('\\', '/');#endif .............}
1 回答

胡說叔叔
TA貢獻(xiàn)1804條經(jīng)驗(yàn) 獲得超8個贊
不幸的是,這是添加邏輯最少的最佳方法。我可以幫你稍微修飾一下。
//using System;
//using System.IO;
foreach (string _preFabPath in PreFabPaths)
{
#if UNITY_EDITOR_WIN
_preFabPath = _preFabPath.Replace(Path.DirectorySeparatorChar, '/');
#endif
}
DirectorySeparatorChar 將使用您所在系統(tǒng)的本地路徑分隔符。
強(qiáng)調(diào)封裝的私有變量將有助于將 preFabPath 識別為 ForEach 封裝的變量。
- 1 回答
- 0 關(guān)注
- 130 瀏覽
添加回答
舉報
0/150
提交
取消