ISSUE

2021


[技術類 - C# 學習誌 - C#面試考題 ] 建構式(Constructor)、this 關鍵字、遞迴、ArrayList  




• 建構式(Constructor)
– 建構式在類別實體物件建立前即會執行,用來初始化物件
– 建構式的名稱一定要和類別名稱一樣
– 建構式與方法相同允許多載

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            car a = new car(3,5);
        }
    }
    class car
    {
        public int showID()
        {
        }
        public int id;
        public int speed;
        public car(int id,int speed)  //這是建構式(Constructor),
        {
            this.id = id;  //this 不能用在STATIC裡面
            this.speed = speed;
        }
        public void accelerate(int x)
        {
            this.speed++;
        }
        public static void findcar()
        {
        }
    }
}
——————————————————————————————————

• 遞迴是一種本身呼叫自己的方法
• 利用遞迴可以提供較為簡潔的方法進行數學運算
• 遞迴程式中,必須撰寫令遞迴結束執行的程式碼

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
        }
    }
    class math
    {
        //遞迴:遞迴是一種本身呼叫自己的方法
        //利用遞迴可以提供較為簡潔的方法進行數學運算
        //遞迴程式中,必須撰寫令遞迴結束執行的程式碼
        //sum(1~x)
        //sum(x)=x+sum(x-1)
        //sum(1)=1;
        public static int sum(int x)
        {
            if (x == 1)
                return 1;
            return sum(x – 1) + x;
        }
    }
}
——————————————————————————————————
• ArrayList 概念
• 使用陣列時我們必須先設定好陣列的大小才可以使用,相當不方便
• ArrayList 屬於集合,集合大小會隨資料量大小動態改變
• 命名空間: System.Collections;
• 常用屬性: Count–實際包含的元素個數
• 常用方法
– Add–將物件加入至末端
– Insert–將物件插入至指定位置
– Remove–移除第一個符合指定物件的元素
– Clear–清除所有元素
– Sort–以遞增方式排序元素
– Reverse–將元素次序反轉
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            ArrayList myAL = new ArrayList();
            car myCar = new car(10);
            myAL.Add(12);
            myAL.Add(“ives");
            myAL.Add(myCar);
            Console.WriteLine(“myAL[{0}]︰{1}", 0, myAL[0]);
            Console.WriteLine(“myAL[{0}]︰{1}", 1, myAL[1]);
            Console.WriteLine(“myAL[{0}]︰{1}", 2, ((car)myAL[2]).id);
            ((car)myAL[2]).id = 100;
            Console.WriteLine(“myCar︰" + myCar.id);
        }
    }
    class car
    {
        public car(int x)
        {
            id = x;
        }
        public int id;
    }
}
——————————————————————————————————
• ArrayList 練習:
• 請使用者輸入正整數資料(不限筆數)
• 當使用者輸入為負數停止
• 將使用者輸入的資料排序後列印至螢幕
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            ArrayList myAL = new ArrayList();
            while (true)    //不確定使用者會輸入幾個正整數,因此用while
            {
                int x = int.Parse(Console.ReadLine());
                if (x > 0)
                    myAL.Add(x);
                else
                    break;  //輸入負數就跳出
            }
            myAL.Sort();  //ArrayList 排序
            foreach (int x in myAL)
            {
                Console.WriteLine(x);  //印出ArrayList
            }
            Console.ReadLine();
        }
    }
}


前往討論區 這篇文章的網址 (可分享到FB、PTT、Mobile01):

小編推薦/優惠活動: 小編推薦/優惠活動:
申辦星展卡贈500元 申辦玉山卡贈300元


您也許對這文章有興趣:

您也許對這文章有興趣:

數位高利活儲帳戶 (渣打/花旗/華南/台新)
數位高利活儲帳戶 (渣打/花旗/華南/台新)

Line 使用常見問題
發錯的LINE訊息可以收回或刪除嗎?

 
其它文章: 前往瀏覽目錄
本篇文章的行動版網頁: 切換到行動版本
返回頂端

Copyright © 2008-2021 Anson | Secured by SSL Connection SSL

遠東樂家卡10%回饋