C#列印出三角形(MessageBox)-物件NumericUpDown

先介紹一下關於decimal型別,在C#中decimal為浮點數型別(28~29位數),每個decimal佔16 byte;而與C相同的浮點數型別有float、double,這兩種在C#之中與C幾乎相同。

在練習的範例當中,將會練習到新的物件NumericUpDown【圖1】,以及lable*1、button*1,在多次練習的過程中,我們一但需要使用、變更、運用到物件的內容,都必須要先連結物件名稱,所以物件名稱建議取清楚且意識別的名字,例如此次練習會需要取出物件NumericUpDown的值(value),所以需要將其值存取到一個變數中,而物件NumericUpDown值的型態為decimal(浮點數),要將其存入不同型別的變數必須和C一樣經過轉型,在C#之中轉型的方式為:
說明(1):NumericUpDown物件取(更)名為row_star
在連結物件的名稱與內容【row_star】前加入欲轉型的型態,此方法為強制轉型,運用時請務必記住清楚轉型結果可以使用此法,若無法預料則不建議使用(例如字串....),完整取出方式如下:
int row = (int)row_star.Value;

當順利獲取NumericUpDown中的value時,就可以開始依照C#規則運用C語言練習題的"撰寫概念"進行撰寫列印三角形了。
這邊因為與C語言不同的地方是因為要直接將結果一次輸出至MessageBox,所以不像C一樣可以一行一行列印出(C用printf),所以就需要將所需印出的內容裝入"連續的"裝入一個字串中( 字串 += ' ' ),最後再由MessageBox給Show出來。【MessageBox.Show(str)】

        private void button1_Click(object sender, EventArgs e)
        {
            int row = (int)row_star.Value; //(int)為強制轉型,若打(float)則為強制轉型為float
            string str = "";//宣告建立一個字串
            for(int i = 1; i <= row; ++i)
            {
                for(int j = 1; j <= i; ++j)
                {
                    str += '*';
                }
                str += "\r\n";
            }
            MessageBox.Show(str);
        }

留言