C# 数据类型转换

C# 数据类型转换

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类可以将数值型数据转换为字节数组,同样可以将字节数组转换为数值。

20180829185245385
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之间进行转换。

17748967-62baa66819b16a9d

利用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<string> list = new List<string>(s.Split(new string[] { ", " }, StringSplitOptions.RemoveEmptyEntries));
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值