首页 > 编程语言 >C# 数据类型与类型转换:包含教程与示例

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

时间:2024-01-18 20:32:05浏览次数:42  
标签:类型转换 Convert Console 示例 int double 数据类型 myNum WriteLine

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,关注后即可获取最新文章推送

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

标签:类型转换,Convert,Console,示例,int,double,数据类型,myNum,WriteLine
From: https://blog.51cto.com/xiaowange/9319628

相关文章

  • C# 数据类型与类型转换:包含教程与示例
    C#数据类型C#中的变量必须是指定的数据类型:intmyNum=5;//整数(整数)doublemyDoubleNum=5.99D;//浮点数charmyLetter='D';//字符boolmyBool=true;//布尔stringmyText="Hello";//字符串数据类型指定了变量值......
  • python之数据类型
    字符串详解                                          1.centerdefcenter(self,*args,**kwargs):#realsignatureunknown"""Returnacenteredstringoflengthwi......
  • 使用TBB库示例
    IntelThreadingBuildingBlocks(TBB)是一个用于多线程应用程序开发的C++模板库,它可以帮助开发者利用多核处理器的性能优势。以下是使用TBB的一般步骤:安装TBB:首先,确保你已经安装了TBB库。你可以从Intel的官方网站下载TBB,并按照安装说明进行安装。安装后,你可以在项目中包含TBB的......
  • MarkDown示例
    这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不......
  • 无涯教程-SQLite - 数据类型
    SQLite数据类型是一个属性,用于指定任何对象的数据类型,每个列,变量和表达式在SQLite中都有相关的数据类型。SQLite存储类存储在SQLite数据库中的每个值都具有以下存储类别之一-Sr.No.StorageClass&描述1NULL该值为NULL值。2INTEGER该值为带符号整数,根据值的大小......
  • HanLP — HMM隐马尔可夫模型 -- 维特比(Viterbi)算法 --完整示例代码
    完成代码importpicklefromtqdmimporttqdmimportnumpyasnpimportosdefmake_label(text_str):"""从单词到label的转换,如:今天---->BE麻辣肥牛:--->BMME的--->S"""text_len=len(text_str)iftext_len==1:......
  • mysql基本数据类型范围与存储说明
    一、整型数据类型存储方式整型数据类型是Mysql中最常用的数据类型之一,其存储方式如下:(默认是有符号,即取值范围是正负范围;无符号,即取值范围就是正值范围)1.TINYINT:占用1个字节,范围为-128~127。2.SMALLINT:占用2个字节,范围为-32768~32767。3.MEDIUMINT:占用3个字节,范围为-8388608~8......
  • [Java]关于基本数据类型与引用类型赋值时的底层分析的小结(简述)
    【版权声明】未经博主同意,谢绝转载!(请尊重原创,博主保留追究权)https://www.cnblogs.com/cnb-yuchen/p/17969159出自【进步*于辰的博客】目录1、关于赋值1.1基本数据类型赋值1.2String类型赋值2、关于String赋值2.1情形一2.2情形二3、关于String与char[]的比较4、不同类型引......
  • MetaGPT day01: MetaGPT作者代码走读、软件公司初始示例
    LLM发展历史-2013年word2vec提出,但效果不好-2017年Transformer结构提出,降低网络复杂度-2018年BERT预训练语言模型效果显著提升-2019年GPT-3推出,采用大规模预训练-2020年InstructionTuning提出,实现零样本学习-2022年InstructGPT解决模型毒性问题-当前GPT-4成本......
  • 简单的.NET 8 Web API使用Kafka 发布订阅模式,示例api示例
    简单的.NET8WebAPI使用Kafka发布订阅模式,示例api示例kafka当使用Kafka时,我们需要使用Kafka的客户端库来与Kafka集群进行通信。在.NETCore中,可以使用Confluent.Kafka客户端库来实现与Kafka的集成。首先,我们需要在项目中添加Confluent.Kafka库的引用。首先,使用NuGet包管......