iT邦幫忙

DAY 9
3

看範例學C#系列 第 9

看範例學C#-09 struct結構

  • 分享至 

  • xImage
  •  

struct是一種用來宣告結構的關鍵字,在結構中包含相關 變數,可將結構視為變數群組
我們用struct也可以提高程式的可讀性
宣告方式:

[存取修飾詞] struct [結構名稱]

{

[存取修飾詞] [資料型別] [變數名稱]

}

存取修飾詞請參考MSDN
資料型別請參考MSDN
使用方式:
結構名稱.變數名稱="abc"//字串型別要用雙引號包,數字型別 直接打數字
以下為struct範例程式碼及註解

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace Struct_ex
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        public struct Phone_Book
        {
            public string Name;
            public string Number;
            public DateTime PublishDate;
            public int Cost;
        }
        private void btnAdd_Click(object sender, EventArgs e)
        {
            Phone_Book PB;
            PB.Name = cName.Text;
            PB.Number = txtAuthor.Text;
            PB.PublishDate = Birthday.Value;
            string msg = "";
            msg = msg + "姓名:" + PB.Name + "\n";
            msg = msg + "電話:" + PB.Number + "\n";
            msg = msg + "出生日期:" + PB.PublishDate.ToShortDateString() + "\n";
            MessageBox.Show(msg, "struct範例");
        }
    }
}

全系列文章列表


上一篇
看範例學C#-08 enum列舉型別
下一篇
看範例學C#-10 陣列應用
系列文
看範例學C#30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
0
pantc328
iT邦高手 1 級 ‧ 2011-10-06 09:31:02

能否請教一下
struct 跟 class 的差異?
我幾乎都用class 不用 struct
我知道有差
但久沒用struct 了所以忘了差異

thc iT邦研究生 5 級 ‧ 2011-10-06 10:11:33 檢舉

struct class
使用static修飾詞 否 可
型別系統 value type reference type
預設參數傳遞方式 call by value call by reference
實體存放記憶體在 stack heap
設定欄位初始值 否 是
這是書上的比較表
class 與 struct 的差別 - Kelp Code
這連結你也可以看看

pantc328 iT邦高手 1 級 ‧ 2011-10-06 10:21:29 檢舉

寫的不錯
這題高普考就考倒一群人
我不去看差別,網路上有很多資源
其他還有OO的特性
他的生命週期..
高考這一題出個25分
裡面4-5小題

還有這二種使用情境?
什麼程式用Class,什麼程式用struct
我寫程式沒考慮那麼細,所以都用Class
坦白說這二種的效能跟資源占的空間也差非常大

0
krarm
iT邦好手 1 級 ‧ 2011-10-06 09:59:11

C++印象中是預設存取修飾子的不同
C#可能更複雜...

0
thc
iT邦研究生 5 級 ‧ 2011-10-06 10:12:55

struct成員預設是public,而class預設是private。

我要留言

立即登入留言