小屋創作

日誌2019-03-07 16:10

C# dynamic型別

作者:貓貓風 ฅ●ω●ฅ

.




















在 C# 4.0 中 新加入的資料型態 dynamic可以大幅度簡化程式內容

讓整體程式看起來更簡潔

dynamic 型別可以是一種在執行時才去連結的型態,它會告訴編譯器

在編譯時(compile time)不去檢查 dynamic 型別所代表的資料型態,把它視為類似object

在執行時(run time) 才會決定,這代表不用在程式中宣告一個固定的型別

由 C# 程式自動在執行期間獲取資料的型別


以下範例為直接宣告dynamic 類別 和 List,並在按下按鈕時動態生成類別資料成員與內容


  1. using System;  
  2. using System.Collections.Generic;  
  3. using System.ComponentModel;  
  4. using System.Data;  
  5. using System.Drawing;  
  6. using System.Linq;  
  7. using System.Text;  
  8. using System.Windows.Forms;  
  9. using System.Dynamic;  
  10. using System.Threading;  
  11.   
  12. namespace dynamic_test  
  13. {  
  14.     public partial class Form1 : Form  
  15.     {  
  16.         //宣告dynamic class  
  17.         private dynamic test_dynamic;  
  18.         //宣告dynamic list  
  19.         dynamic test_dynamic_list = new List<dynamic>();   
  20.   
  21.         public Form1()  
  22.         {  
  23.             InitializeComponent();  
  24.         }  
  25.   
  26.         private void button1_Click(object sender, EventArgs e)  
  27.         {  
  28.             //實體化dynamic class  
  29.             test_dynamic = new ExpandoObject();  
  30.             //dynamic class 加入 property 與 content  
  31.             test_dynamic.data = textBox1.Text;  
  32.             test_dynamic_list.Add(test_dynamic);  
  33.             textBox1.Text = "";  
  34.         }  
  35.   
  36.         private void button2_Click(object sender, EventArgs e)  
  37.         {  
  38.             richTextBox1.Text = "";  
  39.             //列出所有加入 dynamic list 的資料  
  40.             foreach (dynamic content in test_dynamic_list)  
  41.             {  
  42.                 richTextBox1.Text += content.data + "\n";  
  43.             }  
  44.         }  
  45.   
  46.     }  
  47. }  

首先輸入 資料一 並加入



加入資料二



加入資料三



列出所有dynamic List 中的資料


14

4

LINE 分享

相關創作

碧藍航線 自動戰鬥腳本 v2.1.9 蒼閃忍法帖

碧藍航線 自動戰鬥腳本 v2.1.7 雄鷹的敘事歌

碧藍航線 自動戰鬥腳本 v2.2.2 奏響鳶尾之歌

留言

開啟 APP

face基於日前微軟官方表示 Internet Explorer 不再支援新的網路標準,可能無法使用新的應用程式來呈現網站內容,在瀏覽器支援度及網站安全性的雙重考量下,為了讓巴友們有更好的使用體驗,巴哈姆特即將於 2019年9月2日 停止支援 Internet Explorer 瀏覽器的頁面呈現和功能。
屆時建議您使用下述瀏覽器來瀏覽巴哈姆特:
。Google Chrome(推薦)
。Mozilla Firefox
。Microsoft Edge(Windows10以上的作業系統版本才可使用)

face我們了解您不想看到廣告的心情⋯ 若您願意支持巴哈姆特永續經營,請將 gamer.com.tw 加入廣告阻擋工具的白名單中,謝謝 !【教學】