【译文】C# 语言教程之:类型转换

C# 类型转换

原文:C# Tutorial and source code


转换(Conversion)是将一种类型的值转换成另一种类型的值。System.Convert 类提供了支持各种转换的全备的方法的集合。

C#里面的转换分为两种:隐式转换和显示转换。隐式声明的转换是自动发生的,需要的时候,声明显示转换强制转换类型。

  1:int ctr = 999; 

  2:long count = ctr;  // 隐式转换将int型转为long型

上面的语句,第一行声明了一个整型变量ctr,并且赋值999。第二行声明一个long型变量count,并且将ctr的值赋值给它。在这里的转换是自动发生的。这种转换被称为隐式转换(Implicit Conversion )。

  1:int ctr = 999;

  2:long count = ctr;  //隐式转换将int型转为long型

  3:int cnt = (int)count;  // 显示转换将long型转为int型

我们已经看到,在第二行发生的是隐式转换。在第三行,我们又将long型转换成了int型。这里,我们显示转换long型到int型 (int cnt = (int)count), 另一方面,编译器将显示一个错误信息: Error 1 Cannot implicitly convert type ‘long’ to ‘int’. An explicit conversion exists (are you missing a cast?)。这种转换类型被称为显示转换。

以下源代码显示了如何使用System.Convert 类。

using System;
using System.Windows.Forms;

namespace WindowsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            try
            {
                string str = "true";
                bool flag = System.Convert.ToBoolean(str);
                MessageBox.Show("flg value is " + flag);
            }
            catch (Exception ex)
            {
                MessageBox.Show("Cannot conver the value" + ex.ToString() );
            }
        }
    }
}

 

本文译自http://csharp.net-informations.com/

更准确内容,请访问作者原文。

此条目发表在程序开发分类目录,贴了, 标签。将固定链接加入收藏夹。