美文网首页
14.C#类型转换

14.C#类型转换

作者: 技术老小子 | 来源:发表于2024-02-24 07:14 被阅读0次

摘要


类型转换就是把数据从一种类型转换为另一种类型。在C#中,类型转换有两种形式:

  • 隐式类型转换 这些转换是C#默认的以安全方式进行的转换,不会导致数据丢失。例如:从小的整数类型转换为大的整数类型,从派生类转换为基类。
  • 显式类型转换 显式类型转换即强制类型转换。显式转换需要强制转换运算符,而且强制转换会造成数据丢失。

正文


隐式类型转换

int a = 10;
double b = a;//将int隐式转换为double,从低到高
float f = 3.14f;
b = f;//将float转换为double,从低到高
~~float g = b;//这个就会出错了,double比float要高~~
Console.WriteLine(a);
Console.WriteLine(b);

image.png
  • 从 sbyte 类型到 short,int,long,float,double,或 decimal 类型。
  • 从 byte 类型到 short,ushort,int,uint,long,ulong,float,double,或 decimal 类型。
  • 从 short 类型到 int,long,float,double,或 decimal 类型。
  • 从 ushort 类型到 int,uint,long,ulong,float,double,或 decimal 类型。
  • 从 int 类型到 long,float,double,或 decimal 类型。
  • 从 uint 类型到 long,ulong,float,double,或 decimal 类型。
  • 从 long 类型到 float,double,或 decimal 类型。
  • 从 ulong 类型到 float,double,或 decimal 类型。
  • 从 char 类型到 ushort,int,uint,long,ulong,float,double,或 decimal 类型。
  • 从 float 类型到 double 类型。

注:隐式数值转换就是从低精度的数值类型到高精度的数值类型的转换。

byte b = 10;
int i = b;
Console.WriteLine(i);

uint x = 100;
long y = x;//这里要是将uint转int也会出错,转long没有出错
Console.WriteLine(y);

image.png
int x = 100;
double y = 3.14;
double z = x + y;
Console.WriteLine(z);

char a = 'A';//65
double d = 1.2;
Console.WriteLine(a+d);

image.png

显式类型转换

显式类型转换即强制类型转换。显式转换需要强制转换运算符,而且强制转换会造成数据丢失。

强制类型转换主要用于将存储范围大的数据类型转换成存储范围小的、但数据类型需要兼容。

转换语法:

数据类型变量名=(数据类型)变量名或值

double x = 4.2425;
int y = (int)x;
Console.WriteLine(y);

Parse****方法

Parse方法用于将字符串类型转换成任意基本类型,基本所有数据类都有这个方法

string x = "123";
Console.WriteLine(int.Parse(x));

string y = "10.8";
Console.WriteLine(double.Parse(y));

TryParse方法

string x = "123";

int y = 0;
bool ret = int.TryParse(x, out y);//如果转换出错,返回false,如果正确,y就等于转换后的值

Convert方法

Convert方法是数据类型转换中最灵活的方法,它能够将任意数据类型的值转换成任意数据类型,前提是不要超出指定数据类型的范围。

方法 说明
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 方法代替,但是依然会损失存储范围大的数据类型的精度。

string x = "123";
int y=Convert.ToInt32(x);
Console.WriteLine(y);

image.png

相关文章

  • C语言类型转换

    类型转换的方式 自动类型转换1.运算转换(规则:会把小类型转换为大类型) 2.赋值转换 强制类型转换格式:(类型)...

  • 引用类型转换

    向上类型转换(自动类型转换),是小类型到大类型的转换向下类型转换(强制类型装换),是大类型到小类型的转换在强制类型...

  • 第三章 JavaScript中的数据间类型的转换

    数据的类型转换分为强制类型转换和非强制类型转换,强制类型转换也可以称为显示转换,非强制类型转换也可以称为隐式转换。...

  • 笔记2018-08-28

    类型转换 自动类型转换运算转换(编译器会自动把小类型转换为大类型) 赋值转换(将等号右边的类型转换为等号左边的类型...

  • 四、SQL函数④(其他函数)

    类型转换 隐式转换:数据库系统自动将字符串类型转换为整数类型显式转换:使用类型转换函数转换。使用类型转换函数不仅可...

  • 4_类型转换

    关键词:类型之间的转换、强制类型转换、隐式类型转换 1. 类型之间的转换 C语言中的数据类型可以进行转换,转换方式...

  • 学习记录

    类型转换as?类型转换,转换成功,返回一个可选类型,转换不成功返回nilas!类型转换,转换失败回报运行错误备注:...

  • 回顾Date.0402(类型转换、运算)

    类型转换 隐式转换 显式转换 转换为Boolean类型:Boolean(xxx) ; !!xxx 数字类型转换为布...

  • JavaScript的强制类型转换

    强制类型转换 将javascript的值从一种类型转换为另一种类型的值——>类型转换隐式类型转换——>强制类型转换...

  • 自动转换函数

    内置类型间转换 自定义类型的类型转换 使用构造函数进行类型转换 例如 自动转换函数(运算符转换) 例子

网友评论

      本文标题:14.C#类型转换

      本文链接:https://www.haomeiwen.com/subject/hzngadtx.html