字符串作为C#3.0中的char []数组?

Jim*_*son 1 .net c# c#-3.0

C#3.0规范具有第10.6.1.3"输出参数"下面的代码示例:

using System;
class Test
{
    static void SplitPath(string path, out string dir, out string name) {
        int i = path.Length;
        while (i > 0) {
            char ch = path[i – 1];
            if (ch == '\\' || ch == '/' || ch == ':') break;
            i--;
        }
        dir = path.Substring(0, i);
        name = path.Substring(i);
    }
    static void Main() {
        string dir, name;
        SplitPath("c:\\Windows\\System\\hello.txt", out dir, out name);
        Console.WriteLine(dir);
        Console.WriteLine(name);
    }
}
Run Code Online (Sandbox Code Playgroud)

我无法在VS2005/C#2.0中编译此代码.C#3.0中字符串的行为是否发生了变化,以便字符串可以被称为char []数组而不显式转换它(语句"ch = path [i-1]")?

Dar*_*rov 7

这是一个无效的字符' - '.改成 '-'