namespace Conversion
{
internal class Program
{
static void Main(string[] args)
{
//隐式转换规则:
//有符号无符号和浮点数大范围装小范围,有点像集合包含的关系。
//浮点数可以装任何整数,但不能太大如:
float f1;
f1 = 1000000000000000000;//输出1E+18
Console.WriteLine(f1);
//char可以转换为比他范围大的整数和浮点数。char转化为一个ASCII码。
//double -> float -> 两种整形 -> char
//decimal -> 两种整形 -> char
//long -> int -> short -> sbyte
//ulong -> uint -> ushort -> byte
decimal de = 3124;
float f2;
//显示转换
#region 括号强转
//用于将大范围(高精度)转化为低精度的。
//相同大类如有符号整数,无符号整数
int i1 = 1200000000;
short short1 = 44;
short1 = (short)i1;
Console.WriteLine(short1);//打印>-29696,强转可能会出现异常问题
//浮点数会将多余位数省略
//浮点和整数会省略精度,会直接抛弃后续小数不会四舍五入
//char和数值类型
char char1 = 'A';
float float2 = 1.22f;
char1 = (char)float2;
Console.WriteLine(float2);//为空
#endregion
#region Parse法
//用于把字符串类型转换为对应类型,语法:变量类型.Parse("字符串");需要条件是字符串必须能转换为对应类型,否则报错。
string string1 = "123";
int i2 = int.Parse(string1);
Console.WriteLine(i2);//输出123
#endregion
//显示转换
#region 知识点一 括号强转
short sh = (int)1234;
#endregion
#region 知识点二 Parse
int int123 = int.Parse("123");
#endregion
#region 知识点三 Convert 可以转换任意类型,并将其他类型转为string
int a = Convert.ToInt32("123");
string s22 = Convert.ToString(123);
#endregion
#region 知识点四 其他类型
//拼接打印,变量.toString();
string string2 = 32.ToString();
#endregion
//异常处理
try
{
//可能出问题的地方
}
catch
{
//处理区
}
finally
{
//必定执行区域
}
}
}
}