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

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
应用实时监控服务-可观测链路OpenTelemetry版,每月50GB免费额度
云原生网关 MSE Higress,422元/月
简介: 使用正确的数据类型对应于相应的变量是重要的;这样可以避免错误、节省时间和内存,还会使您的代码更易于维护和阅读。最常见的数据类型有:

C# 数据类型

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

int myNum = 5;               // 整数(整数)
double myDoubleNum = 5.99D;  // 浮点数
char myLetter = 'D';         // 字符
bool myBool = true;          // 布尔
string 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:

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

Long:

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

浮点类型:
浮点示例:

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

双精度示例:

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

科学计数法:

float f1 = 35e3F;
double d1 = 12E4D;
Console.WriteLine(f1);
Console.WriteLine(d1);

布尔值:

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

字符:

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

字符串:

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

C# 类型转换

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

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

  1. 隐式转换(自动) - 将较小类型转换为较大类型
    • char -> int -> long -> float -> double
int myInt = 9;
double myDouble = myInt;       // 隐式转换:int 到 double

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

Console.WriteLine(myDouble);   // 输出 9.78
Console.WriteLine(myInt);      // 输出 9

类型转换方法:

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

int myInt = 10;
double myDouble = 5.25;
bool myBool = true;

Console.WriteLine(Convert.ToString(myInt));    // 将 int 转换为 string
Console.WriteLine(Convert.ToDouble(myInt));    // 将 int 转换为 double
Console.WriteLine(Convert.ToInt32(myDouble));  // 将 double 转换为 int
Console.WriteLine(Convert.ToString(myBool));   // 将 bool 转换为 string

为什么进行转换?

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

C# 用户输入

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

// 输入您的用户名并按回车键
Console.WriteLine("请输入用户名:");

// 创建一个字符串变量,并从键盘获取用户输入并将其存储在变量中
string userName = Console.ReadLine();

// 打印变量的值(userName),这将显示输入的值
Console.WriteLine("用户名是:" + userName);

用户输入和数字:

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

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

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

最后

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

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

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

相关文章
|
存储 C# 索引
C# 一分钟浅谈:变量与数据类型简介
【9月更文挑战第1天】在 C# 编程中,了解变量与数据类型至关重要。本文详细介绍了 C# 中的值类型(如整数、浮点数、布尔值等)和引用类型(如类、接口、数组、字符串)。通过示例代码展示了变量的声明与使用方法,并针对数据类型转换错误、变量未初始化及数值溢出等常见问题提供了解决方案。正确选择数据类型不仅能提升程序性能,还可避免潜在错误,有助于编写高质量代码。
234 48
|
9月前
|
开发框架 安全 .NET
掌握 LINQ:通过示例解释 C# 中强大的 LINQ的集运算
通过本文的示例,我们详细介绍了C#中LINQ的强大集合运算功能。LINQ提供了一种简洁、灵活和类型安全的方式来查询和操作数据集合,从而大大提高了代码的可读性和可维护性。希望本文能帮助读者更好地掌握和应用LINQ,提高开发效率。
224 13
|
12月前
|
开发框架 .NET API
以C#一分钟浅谈:GraphQL 数据类型与查询
本文从C#开发者的角度介绍了GraphQL的基本概念、核心组件及其实现方法。GraphQL由Facebook开发,允许客户端精确请求所需数据,提高应用性能。文章详细讲解了如何在C#中使用`GraphQL.NET`库创建Schema、配置ASP.NET Core,并讨论了GraphQL的数据类型及常见问题与解决方案。通过本文,C#开发者可以更好地理解并应用GraphQL,构建高效、灵活的API。
264 64
|
开发框架 安全 .NET
全面掌握C#中的类型转换:详解与实践
【8月更文挑战第20天】
434 0
|
11月前
|
开发框架 搜索推荐 算法
一个包含了 50+ C#/.NET编程技巧实战练习教程
一个包含了 50+ C#/.NET编程技巧实战练习教程
280 18
|
11月前
|
缓存 算法 安全
精选10款C#/.NET开发必备类库(含使用教程),工作效率提升利器!
精选10款C#/.NET开发必备类库(含使用教程),工作效率提升利器!
300 12
|
11月前
|
开发框架 .NET 测试技术
C# 一分钟浅谈:GraphQL 数据类型与查询
本文介绍了GraphQL的基本概念、数据类型及查询方法,重点从C#角度探讨了GraphQL的应用。通过Hot Chocolate库的实例,展示了如何在ASP.NET Core中实现GraphQL API,包括安装、定义Schema、配置及运行项目。文中还讨论了常见问题与解决方案,旨在帮助开发者更好地理解和使用GraphQL。
158 2
|
开发框架 NoSQL MongoDB
C#/.NET/.NET Core开发实战教程集合
C#/.NET/.NET Core开发实战教程集合
235 1
|
API C#
异步轮询 Web API 的实现与 C# 示例
异步轮询 Web API 的实现与 C# 示例
308 1
|
设计模式 C# 开发者
C#设计模式入门实战教程
C#设计模式入门实战教程
133 3