字符串比较

SNA*_*SNA 0 c# string

脚本

请考虑以下代码段.

        string s = "S";
        string s1 = "S";
        string s2 = string.Empty;
        switch (s)
        {
            case "S":
                s1 = "StringComparison";
                break;
            default:
                break;
        }

        switch (s[0])
        {
            case'S':
                s2 = "StringCOmpare2";
                break;
            default:
                break;
        }
Run Code Online (Sandbox Code Playgroud)

第一个开关案例,导致IL内的字符串比较.

但是第二种开关情况不会导致IL内的字符串比较.

谁能证明这一点?

Pau*_*tos 13

因为在第二个开关上你没有进行字符串比较,所以你正在进行字符比较.