如表,转换的名称略不同于C#类型名称,如:要转化为 int,应使用Convert.ToInt32(val),这是因为这些命令来自于
.NET Framework的Sytem的命称空间。而不是C#本身。这样他们就可以在除C#以外的其他.NET兼容语言中使用。
这些转换总是要进行溢出检查,checked和unchecked关键字以及工程属性设置没有什么作用。
实例:
using System;
class Program
{
static void Main(string[] args)
{
short shortResult, shortVal = 4;
int integerVal = 67;
long longResult;
float floatVal = 10.5F;
double doubleResult, doubleVal = 99.999;
string stringResult, stringVal = "17";
bool boolVal = true;
Console.WriteLine("Variable Conversion Examples/n");
doubleResult = floatVal * shortVal; //隐式转换
Console.WriteLine("Implicit, -> double:{0}*{1}->{2}", floatVal, shortVal, doubleResult);
shortResult = (short)floatVal;
Console.WriteLine("Explicit,->short:{0}->{1}",floatVal ,shortResult );
stringResult = Convert.ToString(boolVal) + Convert.ToString(doubleVal);
Console.WriteLine("Explicit,->string:/"{0}/"+/"{1}/"=>{2}", boolVal, doubleVal, stringResult);
longResult = integerVal + Convert.ToInt64(stringVal);
Console.WriteLine("Mixed, ->long: {0}+{1}->{2}", integerVal, stringVal, longResult);
}
}