3、c# --类型转换

      在 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不一样




你可能感兴趣的:(类型转换)