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

这告诉编译器将字符串中的所有内容都视为文字,不需要您转义所有内容。这在使用文件路径时非常有用。