初学C#,不知道下面的code哪出问题了,就是run不出来!题目是把array里的名字按英文格式排列(名+姓),我在main下面作了一个转换的function,可执行的时候总出错,拜托高人给看看!using System;
class MainClass
{
    public static void Main ()          
    {Console.WriteLine("ROSTER");
     string[] roster = {"Bush, George Herbert Walker",             
"Ma, Yo Yo",
"Davenport, Joyce",
"Limbaugh, Rush",
"Quayle, J. Danforth",
"Winfrey, Oprah", 
"Konerko, Paul"}; for (int k=0; k < roster.Length; ++k)
Console.WriteLine(roster[k].Ename);
} public static string Ename (string[] roster)
{
int j=0;
while(j<roster.Length) 
{
    int len = roster[j].IndexOf(',');
    string surname = roster[j].Substring(0,len);
    string prenames = roster[j].Substring (len+1);
    ++j;
    return prenames + " " + surname;
}
}
}    

解决方案 »

  1.   

    Ename有问题,而且你调用的时候是函数,怎么像属性一样的使用啊
    public static string Ename (this string roster)
    {
        int len = roster.IndexOf(',');
        string surname = roster[j].Substring(0,len);
        string prenames = roster[j].Substring (len+1);
        return prenames + " " + surname;
    }然后调用:
    for (int k=0; k < roster.Length; ++k)
    Console.WriteLine(roster[k].Ename());
    }
      

  2.   

    不说什么,首先你的方法就没有被调用,想出结果是不可能的,那你要调用的下面那个方法放进你main里面,记得传参数,然后慢慢调试估计就可以出来了
      

  3.   

    非常感谢!我把class那里定义成static class 就执行出来了!
      

  4.   


    非常感谢!我把class那里定义成static class 就执行出来了!