2013年4月6日 星期六

使用is關鍵字判斷物件是否與指定類型一樣

程式開發過程,因型態時常的轉換 或 轉換不成功 ,出現異常增加不穩定性
使用 is 關鍵字 可以判斷 是否與指定類型相同?  相容true 不相容false

下面簡單的概念

private void button1_Click(object sender, EventArgs e)
        {
            string PP = "程式設計";//建立字串型態
            object OBJ = PP;//將字串轉物件
            if (OBJ is string)//查詢OBJ是不是STRING
            {
                MessageBox.Show("OBJ 是一個strin型態");
            }
            else
            {
                MessageBox.Show("不是string型態");
            }
        }


在看以下範例


  private void btn_Get_Click(object sender, EventArgs e)
        {
            //下面是radiobutton 裡用?:三元運算做判斷 true 是字串 false 是檔案型態
            //面板上有 radiobutton1 與2
            object P_obj = rbtn_target1.Checked ?
                (object)"C# 編程詞典" : new System.IO.FileInfo(@"d:\");
            if (rbtn_class1.Checked)//判斷選擇了哪一個類型
            {
                if (P_obj is System.String)//判斷物件是否為字符串類型
                    MessageBox.Show(//提示相容訊息
                        "物件與指定類型相容", "提示!");
                else
                    MessageBox.Show(//提示不相容訊息
                        "物件與指定類型不相容", "提示!");
            }
            else
            {
                if (P_obj is System.IO.FileInfo)//判斷物件是否為文件類型
                    MessageBox.Show(//提示相容訊息
                        "物件與指定類型相容", "提示!");
                else
                    MessageBox.Show(//提示不相容訊息
                        "物件與指定類型不相容", "提示!");
            }
        }

沒有留言:

張貼留言