各位大虾们好,我是一个c#初学者,请教一下下面一段代码的运行结果
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;namespace p3_14
{
    class Program
    {
        static void Main(string[] args)
        {
            Contact c = new Contact();
            c.m_name = "hulu";
            c.m_age = 19;
            c.m_telephone = "087162198752";
            ITelephone[] iTels = new ITelephone[3];
            //iTels[0]=new ITelephone();
            Contact[] cons=new Contact[3];
            cons[0]=new Contact();
            iTels[0]=(ITelephone)c;
            iTels=cons;
            cons[0].DialNumber();
        }
        interface ITelephone
        {
            void DialNumber();
        }
        class Contact : ITelephone
        {
            public string m_name="";
            public string m_telephone="";
            public int m_age=0;
            public void DialNumber()
            {
                Console.WriteLine("拨号....");
                Console.WriteLine(m_name);
                Console.WriteLine(m_telephone);
                Console.WriteLine("连接中...");
                Console.WriteLine("通话结束...");
                Console.ReadLine();
            }
        }
}我调试出来的是下面的结果,没有名字和号码不知道为什么,对不对,请多多指教
拨号....
连接中...
通话结束...
没有名字和号码不知道为什么,对不对,请多多指教

解决方案 »

  1.   

    以及输出结果了啊。只是名字和号码都是空的字符串而已。因为你根本就没有给cons[0]中的名字和号码赋值,所以当然是默认是空的了。
      

  2.   

     Contact c = new Contact();
      c.m_name = "hulu";
      c.m_age = 19;
      c.m_telephone = "087162198752";  Contact[] cons=new Contact[3];
      cons[0]=new Contact();
    你的这个c和cons完全是两个对象啊……你没有给cons[0]的属性赋值的~
      

  3.   

    我看的书上写的是cons[0]和itels[0]都指向对象c