although there are still problems, try
using System;
struct PhoneBook
{
public string name;
public byte age;
public byte phone;
}class test
{
static void Main()
{
PhoneBook pl = new PhoneBook();
Console.WriteLine("Please Enter Your Name:");
pl.name=Console.ReadLine();
Console.WriteLine("Please Enter Your Age:");
string s = Console.ReadLine();
pl.age= Convert.ToByte(s);
Console.WriteLine("Please Enter Your Phone:");
s = Console.ReadLine();
pl.phone=Convert.ToByte(s);
Console.WriteLine("{0}{1}{2}",pl.name,pl.age,pl.phone);
}
}

解决方案 »

  1.   

    although there are still problems, try
    using System;
    struct PhoneBook
    {
    public string name;
    public byte age;
    public byte phone;
    }class test
    {
    static void Main()
    {
    PhoneBook pl = new PhoneBook();
    Console.WriteLine("Please Enter Your Name:");
    pl.name=Console.ReadLine();
    Console.WriteLine("Please Enter Your Age:");
    string s = Console.ReadLine();
    pl.age= Convert.ToByte(s);
    Console.WriteLine("Please Enter Your Phone:");
    s = Console.ReadLine();
    pl.phone=Convert.ToByte(s);
    Console.WriteLine("{0}{1}{2}",pl.name,pl.age,pl.phone);
    }
    }
      

  2.   

    哇~~谢谢两位大虾啦~~~ jhnhu(jhnhu)你好象很厉害哦~~因为我刚学,所以还有很多地方要向你请教哦~~不知道能不能和你交个朋友呀!?我的QQ是19728960,任何对C#感兴趣都来加我吧~~我是菜鸟,我怕谁!:)
      

  3.   

    对了,那个用try-catch防止出错应该怎么写代码呀!?能不能再麻烦你一起写出来呀,最后能加上注释!!!:)
      

  4.   

    我要是厉害,就不用看别人做MVP啦!int a = 4;
    int b = 0;
    //int b = 2;
    try
    {
    int c = a / b;
    }
    catch
    {
    Console.WriteLine("error");
    }如果b=0,是不合法的,会出错,结束程序;用了try-catch就可以自己来处理错误。
    不过这样来判断输入的是不是数,做成while循环,好想不太方便。
    bool result = false;
    do
    {
    try
    {
    Console.WriteLine("Please Enter Your Age:");
    pl.age=byte.Parse( Console.ReadLine() ); 
    result = true;  //上面那句出了错,就不会执行这句,便会继续循环,再输入
    }
    catch
    {  //出错处理
    Console.WriteLine("Error,Please re-input");
    pl.age = 0;  //不打这句,会编译不过
    }
    }while(!result);
    这个方法好象不太好。一个很简单的输入,写了一大段。
      

  5.   

    楼上的大哥呀~~我用了你的方法还是不行呀~~最多只会显示那句出错的话,但程序还是中止啦,好象那个循环没有起到作用呀!?因为我现在用的是BATE2版的,不知道是不是这个原因呀!?
      

  6.   

    我可是调试过的啊!把这段
    >>Console.WriteLine("Please Enter Your Age:");
    >>pl.age=byte.Parse( Console.ReadLine() );   //把string转成byte类型,但得保证用户输入的是0-255的数值;要防止出错得用try-catch来处理换成
    bool
    do{
    .
    .
    }while
      

  7.   

    我现在想知道的就是如何用try-catch来处理错误哦,照你的方法只能显示那句“Re-Input"后就中止程序啦!有没有办法让程序不中止,而让用户重新输入后检测无误后再中止呀!?