你把出问题的地方的try去掉后,跟踪一下!问题就会出来的!

解决方案 »

  1.   

    问题可能是:
    hello:int g = pwe.showTheMenu();
    switch (g)
    {
        case 1:
            pwe.addNewRecord();
            goto hello;
        case 2:
            pwe.showAllList();
            goto hello;
        case 3:
            Console.WriteLine("。");
            goto hello;
        case 0:
            return;
    }第一次执行正确后,进入第二次循环在pwe.showAllList()里,f = new FileStream(m_filename,FileMode.OpenOrCreate);这一句出错了!系统处理完错误后,会继续执行的!后面的问题,可能是你字符编码有问题,在System.Text下有Encoding和Encoder,Decoder类可以使用,自己查查MSDN!
      

  2.   

    问题可能是:
    hello:int g = pwe.showTheMenu();
    switch (g)
    {
        case 1:
            pwe.addNewRecord();
            goto hello;
        case 2:
            pwe.showAllList();
            goto hello;
        case 3:
            Console.WriteLine("。");
            goto hello;
        case 0:
            return;
    }第一次执行正确后,进入第二次循环在pwe.showAllList()里,f = new FileStream(m_filename,FileMode.OpenOrCreate);这一句出错了!系统处理完错误后,会继续执行的!后面的问题,可能是你字符编码有问题,在System.Text下有Encoding和Encoder,Decoder类可以使用,自己查查MSDN!
      

  3.   

    我调试了一下,异常是下面语句产生的。
    while(Convert.ToString(brer.PeekChar())!=null)
    {
    try
    {
    m_record.name = brer.ReadString();
    m_record.phone = brer.ReadString();
    m_record.address = brer.ReadString();
    m_record.e_mail = brer.ReadString();
    m_record.age = brer.ReadUInt16();
    Console.WriteLine("{0,-9}{1,-12}{2,-15}{3,-15}{4,-6}",m_record.name,m_record.phone,
    m_record.address,m_record.e_mail,m_record.age);
    }
    catch{Console.WriteLine("Error");return;} }
    不能在流的末尾读取,即文件流 f 已经到了末尾。我应该怎么在while()里判断f是否已经到了末尾呢?Convert.ToString(brer.PeekChar())!=null是我看VSNET里的提示写的,已经证明不行了,谁能告诉我下,谢谢。
    第二个问题我已经解决了。