好久没有碰过C#了  把每天练习的code都记录下来 以免忘记 

 

巢状类别:

public class roll   //第一层
    {
        public string str1 { get; set; }
        public int a {  get; set; }

        public string getstring()  
        {
            return (str1 + a.ToString());
        }

        public class roll2  //第二层
        {
            public string str2 { get; set; }
            public int b { get; set; }


            public string getstring2()
            {
                return (str2 + b.ToString());
            }


            public class roll3  //第三层
            {
                public string str3 { get; set; }
                public int c { get; set; }


                public string getstring3()
                {
                    return (str3 + c.ToString());
                }

                public string getstring4(roll2 SA)  //物件参数
                {
                    return SA.str2+SA.b.ToString();
                }
            }
        }        
    }

 

//Ptogram

class Program
    {
        static void Main(string[] args)
        {
            roll ma = new roll{str1 = "AAA",a=123 };     //roll ma = new roll{str1 = "AAA",a=123 };     roll{str1,a} 表示 向roll的field str1 和a设值  
            roll.roll2 ma2 = new roll.roll2 { str2 = "BBB", b = 456 };   //要new第二层 ,需要写成  第一层.第二层
            roll.roll2.roll3 ma3 = new roll.roll2.roll3 { str3 = "CCC", c = 789 };  //要new第三层 ,需要写成  第一层.第二层.第三层

            //roll ma = new roll(str1,a){str1 = "EEE",a=666 };  如果以这样的写法     会输出 AAA123 后面的EEE666不会输出  正常应该不会这样写

            //Console.WriteLine(ma.str1+ ma.a.ToString());   =>AAA123
            //Console.WriteLine(ma2.getstring2());                 =>BBB456
            Console.WriteLine(ma3.getstring4(new roll.roll2() { str2 = "DDD", b = 456 }));  =>DDD456
            Console.ReadKey();
        }

 

 

 

 

 

 

 

 

相关文章