public string rd()
    {
        System.IO.StreamReader sr = new System.IO.StreamReader("123.dat", System.Text.Encoding.Default);
        while (sr.Peek() >= 0)
        {
            return (sr.ReadLine());
        }编译错误:并非所有的代码路径都返回值

解决方案 »

  1.   

    因为 while 条件并不一定成立。public string rd()
        {
            System.IO.StreamReader sr = new System.IO.StreamReader("123.dat", System.Text.Encoding.Default);
            while (sr.Peek() >= 0)
            {
                return (sr.ReadLine());
            }
            return null;
        }
      

  2.   

    非常谢谢,可是123.dat里有5行文本,现在只显示出了一行,请教!
      

  3.   

    你sr.ReadLine()了一条,就return了,肯定只有一行
      

  4.   

    return之后函数就返回不再执行了。
      

  5.   

    public StringCollection rd()
        {
            StringCollection  strDat = new StringCollection();
            System.IO.StreamReader sr = new System.IO.StreamReader("123.dat", System.Text.Encoding.Default);
            while (sr.Peek() >= 0)
            {
                strDat .add(sr.ReadLine());
            }
            return strDat;
        }