C# 数据类型与类型转换:包含教程与示例

C# 数据类型

C# 中的变量必须是指定的数据类型:

1int myNum = 5; // 整数(整数) 2double myDoubleNum = 5.99D; // 浮点数 3char myLetter = 'D'; // 字符 4bool myBool = true; // 布尔 5string myText = "Hello"; // 字符串

数据类型指定了变量值的大小和类型。

使用正确的数据类型对应于相应的变量是重要的;这样可以避免错误、节省时间和内存,还会使您的代码更易于维护和阅读。最常见的数据类型有:

整数类型:

  • int:4 字节,范围从 -2,147,483,648 到 2,147,483,647
  • long:8 字节,范围从 -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807

浮点类型:

  • float:4 字节,存储小数。足够存储 6 到 7 位小数
  • double:8 字节,存储小数。足够存储 15 位小数

其他类型:

  • bool:1 位,存储 truefalse
  • char:2 字节,存储单个字符/字母,用单引号括起来
  • string:每字符 2 字节,存储字符序列,用双引号括起来

数字:

  • intlong 用于存储整数
  • floatdouble 用于存储带有小数的数字

整数类型: Int:

1int myNum = 100000; 2Console.WriteLine(myNum);

Long:

1long myNum = 15000000000L; 2Console.WriteLine(myNum);

浮点类型: 浮点示例:

1float myNum = 5.75F; 2Console.WriteLine(myNum);

双精度示例:

1double myNum = 19.99D; 2Console.WriteLine(myNum);

科学计数法:

1float f1 = 35e3F; 2double d1 = 12E4D; 3Console.WriteLine(f1); 4Console.WriteLine(d1);

布尔值:

1bool isCSharpFun = true; 2bool isFishTasty = false; 3Console.WriteLine(isCSharpFun); // 输出 True 4Console.WriteLine(isFishTasty); // 输出 False

字符:

1char myGrade = 'B'; 2Console.WriteLine(myGrade);

字符串:

1string greeting = "Hello World"; 2Console.WriteLine(greeting);

C# 类型转换

类型转换是将一个数据类型的值赋给另一种类型的过程。

C# 中,有两种类型的转换:

  1. 隐式转换(自动) - 将较小类型转换为较大类型
    • char -> int -> long -> float -> double
1int myInt = 9; 2double myDouble = myInt; // 隐式转换:int 到 double 3 4Console.WriteLine(myInt); // 输出 9 5Console.WriteLine(myDouble); // 输出 9
  1. 显式转换(手动) - 将较大类型手动转换为较小大小的类型
    • double -> float -> long -> int -> char
1double myDouble = 9.78; 2int myInt = (int) myDouble; // 显式转换:double 到 int 3 4Console.WriteLine(myDouble); // 输出 9.78 5Console.WriteLine(myInt); // 输出 9

类型转换方法:

还可以通过使用内置方法进行显式转换,例如 Convert.ToBooleanConvert.ToDoubleConvert.ToStringConvert.ToInt32(int)和 Convert.ToInt64(long)来显式地将数据类型转换:

1int myInt = 10; 2double myDouble = 5.25; 3bool myBool = true; 4 5Console.WriteLine(Convert.ToString(myInt)); // 将 int 转换为 string 6Console.WriteLine(Convert.ToDouble(myInt)); // 将 int 转换为 double 7Console.WriteLine(Convert.ToInt32(myDouble)); // 将 double 转换为 int 8Console.WriteLine(Convert.ToString(myBool)); // 将 bool 转换为 string

为什么进行转换?

很多时候,不需要进行类型转换。但有时是必须的。在处理用户输入等场景中,可能需要将输入从字符串转换为数字类型。

C# 用户输入

获取用户输入是编程中常见的任务之一。在 C# 中,您可以使用 Console.ReadLine() 来实现这一目的。以下是一个获取用户输入的简单示例:

1// 输入您的用户名并按回车键 2Console.WriteLine("请输入用户名:"); 3 4// 创建一个字符串变量,并从键盘获取用户输入并将其存储在变量中 5string userName = Console.ReadLine(); 6 7// 打印变量的值(userName),这将显示输入的值 8Console.WriteLine("用户名是:" + userName);

用户输入和数字:

Console.ReadLine() 方法返回一个字符串。因此,如果您要获取数字输入,您需要将其显式转换为适当的类型(例如,int):

1Console.WriteLine("请输入您的年龄:"); 2int age = Convert.ToInt32(Console.ReadLine()); 3Console.WriteLine("您的年龄是:" + age);

请注意,如果用户输入无效(例如,在数字输入中输入文本),上述代码将引发异常。在实际应用程序中,您可能需要添加适当的错误处理来处理这种情况

最后

为了方便其他设备和平台的小伙伴观看往期文章:

微信公众号搜索:Let us Coding,关注后即可获取最新文章推送

看完如果觉得有帮助,欢迎 点赞、收藏、关注

点赞
收藏

评论区

加载中...

相关推荐

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

皕杰报表之UUID

​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为

typeScript数据类型

//布尔类型letisDone:booleanfalse;//数字类型所有数字都是浮点数numberletdecLiteral:number6;lethexLiteral:number0xf00d;letbinaryLiteral:number0b101

FLV文件格式

1.        FLV文件对齐方式FLV文件以大端对齐方式存放多字节整型。如存放数字无符号16位的数字300(0x012C),那么在FLV文件中存放的顺序是:|0x01|0x2C|。如果是无符号32位数字300(0x0000012C),那么在FLV文件中的存放顺序是:|0x00|0x00|0x00|0x01|0x2C。2.  

mysql中时间比较的实现

MySql中时间比较的实现unix\_timestamp()unix\_timestamp函数可以接受一个参数,也可以不使用参数。它的返回值是一个无符号的整数。不使用参数,它返回自1970年1月1日0时0分0秒到现在所经过的秒数,如果使用参数,参数的类型为时间类型或者时间类型的字符串表示,则是从1970010100:00:0