C# 数据类型转换

C# 数据类型转换
文章目录

        • C# 数据类型转换
          • Convert类
          • BitConverter类
          • Parse方法
          • ToString方法
          • 字符数组和字符串互转
          • Encoding类
          • List列表转字符串

Convert类 参考:http://www.csref.cn/vs100/method/System-Convert-ToByte-18.html
Convert类能够将任意数据类型的值转换成任意数据类型:
数据类型 变量名 = convert.To数据类型(变量名); int integer = Convert.ToInt32("123"); byte _byte = Convert.ToByte("50", 16); // 转换为十六进制,即0x50

方法 说明
Convert.ToInt16() 转换为整型(short)
Convert.ToInt32() 转换为整型(int)
Convert.ToInt64() 转换为整型(long)
Convert.ToChar() 转换为字符型(char)
Convert.ToString() 转换为字符串型(string)
Convert.ToDateTime() 转换为日期型(datetime)
Convert.ToDouble() 转换为双精度浮点型(double)
Conert.ToSingle() 转换为单精度浮点型(float)
Convert.ToByte() 转换为Byte类型(byte)
BitConverter类 BitConverter类可以将数值型数据转换为字节数组,同样可以将字节数组转换为数值。
C# 数据类型转换
文章图片
Parse方法 Parse 方法用于将字符串类型转换成任意类型:
数据类型 变量 = 数据类型.Parse(字符串类型的值); int num1 = int.Parse("123");

ToString方法 C#的每一个类和结构都隐式继承自System.Object,而Object提供了ToString()虚方法,所以任何类的对象都有ToString()方法,该方法可以将对象转化为字符串类型。
第一种情况是数值类型,直接转换成字符串:
int a=100; string str=a.ToString();

第二种是引用类型,输出当前对象所在命名空间及类名:
Person p= new Person(); Console.WriteLine(p); // 等价于Console.WriteLine(p.ToString());

输出:
Test.Person

ToString方法为虚方法,可以重写。所以通过重写ToString(),可以输出我们想要的内容。
public override string ToString() { return "Person: " + name + " " + Height; }

字符数组和字符串互转 字符串转换为字符数组:
char[] tempChar = sourceString.ToCharArray();

字节数组转换为字符串:
string str = new string(tempChar);

Encoding类 Encoding类位于System.Text命名空间中,主要用于在不同的编码和Unicode之间进行转换。
C# 数据类型转换
文章图片
利用Encoding类的Convert方法可将字节数组从一种编码转换为另一种编码。方法原型为:
Public static byte[] Convert(Encoding srcEncoding,Encoding dstEncoding,byte[]bytes)

各参数含义如下。
  • srcEncoding:表示源编码格式。
  • dstEncoding:表示目标编码格式。
  • bytes:待转换的字节数组。
  • 返回值为包含转换结果的Byte类型的数组。
利用Encoding类可以实现字符串与字节数组互相转换(一定要指定好编码格式,否则会导致乱码):
//用Ascii编码将xxxByteArray字节数组转化为字串ss string ss = Encoding.ASCII.GetString(xxxByteArray); //用系统默认编码将字串ss转换为字节数组test byte[] test=Encoding.Default.GetBytes(ss);

List列表转字符串 List列表转数组用oArray()
数组转List列表用ToList();
List转字符串:
string s = string.Join(",", list.ToArray());

【C# 数据类型转换】字符串转List:
string s = "1, 2, 3"; List list = new List(s.Split(new string[] { ", " }, StringSplitOptions.RemoveEmptyEntries));

    推荐阅读