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# 数据类型转换_第1张图片
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# 数据类型转换_第2张图片

利用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());

字符串转List:

string s = "1, 2, 3";
List list = new List(s.Split(new string[] { ", " }, StringSplitOptions.RemoveEmptyEntries));

你可能感兴趣的:(C#)