的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); } }
我无法在VS2005/C#2.0中编译此代码.C#3.0中字符串的行为是否发生了变化,以便字符串可以被称为char []数组而不显式转换它(语句"ch = path [i-1]")?
这是一个无效的字符' - '.改成 '-'