好久沒有碰過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();
        }

 

 

 

 

 

 

 

 

相關文章