在 C# 中,可以执行以下几种类型的转换:
隐式转换:由于该转换是一种安全类型的转换,不会导致数据丢失,因此不需要任何特殊的语法。 比如 long bigNum = int num ,Farher person = Son person (向上转型)
显式转换(强制转换):显式转换需要强制转换运算符。 在转换中可能丢失信息时或在出于其他原因转换可能不成功时,必须进行强制转换。 比如 int x = (int) Double y, Son person = (Son)Father person (向下转型)
类型强制转换在运行时失败将导致引发 InvalidCastException
用户定义的转换:可以定义一些特殊的方法来执行用户定义的转换,从而使不具有基类–派生类关系的自定义类型之间可以显式和隐式转换。
使用帮助程序类的转换:若要在不兼容的类型之间进行转换,例如在整数与 System.DateTime 对象之间转换,或者在十六进制字符串与字节数组之间转换,则可以使用 System.BitConverter 类、System.Convert 类和内置数值类型的 Parse 方法。
1、int <----> string
1.intA =int.Parse(str);
2.int.TryParse(str, out intA);
3.intA = Convert.ToInt32(str);
以上都可以,其中 1和3 需要try{}异常,2不需要。
string s = i.ToString();
2、byte[] <---->string
string s = "hello";
byte[] bytes = Encoding.UTF8.GetBytes(s);
string ll = Encoding.Default.GetString(bytes);
Console.WriteLine(ll);
3、char[] <---> string
string s = "hello";
char[] c = s.ToCharArray();
string ll = new string(c); //和java不一样
3、c# --类型转换
猜你喜欢
转载自onway417.iteye.com/blog/2199609
今日推荐
周排行