Windows 字符串中的文件路径与转义字符混淆
Windows file path in string getting confused for escape characters
如何在 Unity 不认为 \ 是转义字符的情况下保存到 Windows 路径?我收到这样的错误:Assets/_Scripts/CaptureSaveScreenshot.cs(50,93): error CS1009: Unrecognized escape sequence `\k'
public void GrabIt(string capturePath)
{
string dtString = System.DateTime.Now.ToString("yyyyMMddHHmmssfff");
if(width > 0 && height > 0)
{
if (Application.platform == RuntimePlatform.WindowsWebPlayer)
snapShot.CaptureAndSaveAtPath(x, y, width, height, "C:\Users\kenmarold\Screenshots\screenshot_"+dtString+".png"); // Save to Windows
if (Application.platform == RuntimePlatform.OSXWebPlayer)
snapShot.CaptureAndSaveAtPath(x, y, width, height, "/Users/kenmarold/Screenshots/screenshot_"+dtString+".png"); // Save to Mac
在路径字符串中使用 \
,这样它将被视为 \
。
喜欢
"C:\Users\kenmarold\Screenshots\screenshot_"+dtString+".png"
详细了解 Escape Sequences in C#。
或者您可以使用 Verbatim String 而不是转义序列。
如果有帮助,请点赞。
在字符串前使用 @
符号,如下所示:
snapShot.CaptureAndSaveAtPath(x, y, width, height,
@"C:\Users\kenmarold\Screenshots\screenshot_"+
dtString + ".png"); // Save to Windows
这告诉编译器将字符串中的所有内容都视为文字,不需要您转义所有内容。这在使用文件路径时非常有用。
如何在 Unity 不认为 \ 是转义字符的情况下保存到 Windows 路径?我收到这样的错误:Assets/_Scripts/CaptureSaveScreenshot.cs(50,93): error CS1009: Unrecognized escape sequence `\k'
public void GrabIt(string capturePath)
{
string dtString = System.DateTime.Now.ToString("yyyyMMddHHmmssfff");
if(width > 0 && height > 0)
{
if (Application.platform == RuntimePlatform.WindowsWebPlayer)
snapShot.CaptureAndSaveAtPath(x, y, width, height, "C:\Users\kenmarold\Screenshots\screenshot_"+dtString+".png"); // Save to Windows
if (Application.platform == RuntimePlatform.OSXWebPlayer)
snapShot.CaptureAndSaveAtPath(x, y, width, height, "/Users/kenmarold/Screenshots/screenshot_"+dtString+".png"); // Save to Mac
在路径字符串中使用 \
,这样它将被视为 \
。
喜欢
"C:\Users\kenmarold\Screenshots\screenshot_"+dtString+".png"
详细了解 Escape Sequences in C#。
或者您可以使用 Verbatim String 而不是转义序列。
如果有帮助,请点赞。
在字符串前使用 @
符号,如下所示:
snapShot.CaptureAndSaveAtPath(x, y, width, height,
@"C:\Users\kenmarold\Screenshots\screenshot_"+
dtString + ".png"); // Save to Windows
这告诉编译器将字符串中的所有内容都视为文字,不需要您转义所有内容。这在使用文件路径时非常有用。