天轟穿C#教程之資料類型安全與轉換【原創】

來源:互聯網
上載者:User

  從工具箱中拖四個Label控制項到介面上,並分別修改Text屬性為"姓名:、年齡:、結果:和訊息",注意最後一個Label(就是Text屬性為"訊息"這個Label控制項的NAME屬性);

  

  小天:這麼多資料類型,它們之間一定會有混合使用的時候。比如我們讓使用者輸入使用者名稱和年齡,然後顯示出結果。

  

  老田:你說的這個最好使用WinForm來做。因為這隻是第二次做,我們把步驟說下:

  

  1.建立一個名為"類型轉換和裝拆箱"的Windows傳統型應用程式項目;

  

  2.從工具箱中拖四個Label控制項到介面上,並分別修改Text屬性為"姓名:、年齡:、結果:和訊息",注意最後一個Label(就是Text屬性為"訊息"這個Label控制項的NAME屬性);

  

  3.拖兩個TextBox控制項到介面上,並分別將這兩個控制項的NAME屬性修改為tb_name,tb_age;

  

  4.拖一個Button控制項,將Text屬性修改為提交;

  

  5.最終效果2-17

 

  

  圖2-17

  

  6.上面的步驟做好之後,雙擊"提交按鈕",為此按鈕產生Click事件;

  

  7.代碼如下:

  

  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類型轉換和裝拆箱

  

  {

  

  publicpartialclassForm1 : Form

  

  {

  

  public Form1()

  

  {

  

  InitializeComponent();

  

  }

  

  ///<summary>

  

  ///雙擊提交按鈕產生事件

  

  ///</summary>

  

  ///<param name="sender">觸發事件的對象,這類事件中當然就是當前對象</param>

  

  ///<param name="e">事件所附帶的訊息</param>

  

  privatevoid button1_Click(object sender, EventArgs e)

  

  {

  

  //下面幾行代碼是我們寫的,其它的除注釋外都是自動產生的,注意下面兩次類型轉換

  

  //因為tb_name的Text屬性也是string類型,所以不用類型轉換即可直接賦值

  

  string name = tb_name.Text;

  

  //使用Convert類的ToInt32方法將tb_age中接收到的string類型的值轉換為int類型

  

  int age = Convert.ToInt32(tb_age.Text);

  

  //msg等於 name 加上 int類型的age,因為類型不同,所以將age轉換為string類型

  

  string msg = name + age.ToString();

  

  //修改用來顯示訊息的Label4的Text屬性

  

  label4.Text = msg;

  

  }

  

  }

  

  }

  

  8.運行程式(忘記了就回去看第一章);

  

  9.最終運行結果2-18

 

  

  圖2-18

  

  小天:怪哉,我跟你示範的完全一樣,為什麼我的就是錯的呢?你看1-19

 

  

  圖2-19

  

  老田:它能不錯嘛?你輸入的30可以轉換為整形,對吧?可"30歲",你說這個C#怎麼幫你轉換呢?因為無法轉換,所以就出錯了。這個是資料類型轉換中常出現的事。

  

  小天:哪我咋知道什麼情況可以轉換,什麼情況不可以轉換啊?

  

  老田:資料類型的轉換當然是有規律的了。從轉換形式上來看,可將資料類型分為兩種,不需要有文法申明的隱式轉換和需要明確藉助其它類或者方法來實現的顯示轉換。

  

  從轉換類型上來看,可分為擴大轉換和縮小轉換,所謂擴大,就是範圍、位元小的類型轉換為大的,比如byte類型轉換為int類型。縮小類型反之。

  

  本文為天轟穿原著,轉載請註明出處及作者!

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.