C# 数据类型与类型转换:包含教程与示例
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,647long:8 字节,范围从 -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807
浮点类型:
float:4 字节,存储小数。足够存储 6 到 7 位小数double:8 字节,存储小数。足够存储 15 位小数
其他类型:
bool:1 位,存储true或false值char:2 字节,存储单个字符/字母,用单引号括起来string:每字符 2 字节,存储字符序列,用双引号括起来
数字:
int和long用于存储整数float和double用于存储带有小数的数字
整数类型:
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# 中,有两种类型的转换:
- 隐式转换(自动) - 将较小类型转换为较大类型
char -> int -> long -> float -> double
int myInt = 9;
double myDouble = myInt; // 隐式转换:int 到 double
Console.WriteLine(myInt); // 输出 9
Console.WriteLine(myDouble); // 输出 9
- 显式转换(手动) - 将较大类型手动转换为较小大小的类型
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.ToBoolean、Convert.ToDouble、Convert.ToString、Convert.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# 数据类型与类型转换:包含教程与示例的更多相关文章
- java与.net比较学习系列(3) 基本数据类型和类型转换
在Java中,数据类型分为两类,一类是基本数据类型,另外一类是引用类型. 而在C#中,数据类型分为三类,分别是基元类型,值类型和引用类型.其中基元类型是.net framework框架中预定义的类型, ...
- 【转】java与.net比较学习系列(3) 基本数据类型和类型转换
原文地址:https://www.cnblogs.com/mcgrady/p/3397874.html 阅读目录 一,整数类型 二,浮点数类型 三,字符类型 四,布尔类型 五,类型转换之自动转换 六, ...
- 【转】C#正则表达式教程和示例
[转]C#正则表达式教程和示例 有一段时间,正则表达式学习很火热很潮流,当时在CSDN一天就能看到好几个正则表达式的帖子,那段时间借助论坛以及Wrox Press出版的<C#字符串和正则表达式参 ...
- ReadyAPI 教程和示例(一)
原文:ReadyAPI 教程和示例(一) 声明:如果你想转载,请标明本篇博客的链接,请多多尊重原创,谢谢! 本篇使用的 ReadyAPI版本是2.5.0 通过下图你可以快速浏览一下主要的ReadyAP ...
- 【Python系统学习02】数据类型与类型转换
一.数据类型 字符串 整数 浮点数 [补充中...] 1.字符串 str 字符串:英文string,简写str. name = '小石头:' print(name,'2019', '12', '24' ...
- 2 JavaScript输出&字面量&变量&操作符&语句&标识符和关键字&字符集&语句&数据类型与类型转换
JS输出: JavaScript没有任何打印或者输出的函数,但是可以用不同的方式输出数据 window.alert():弹出警告框 document.write():写入文档 innerHTML:写入 ...
- 大数据学习--day02(标识符、变量、数据类型、类型转换、进制转换、原码反码补码)
标识符.变量.数据类型.类型转换.进制转换.原码反码补码 标识符: java50个关键字不能做标识符,以数字开头不能做标识符(这个老是忘记写一个类名的时候) 变量: 变量分为成员变量和局部变量,注意作 ...
- python入门4 python查看数据类型及类型转换
查看数据类型:type() 类型转换:int(),float(),char(),ord(),str(),bool() #coding:utf-8 #/usr/bin/python "&quo ...
- Terraform入门教程,示例展示管理Docker和Kubernetes资源
我最新最全的文章都在南瓜慢说 www.pkslow.com,欢迎大家来喝茶! 1 简介 最近工作中用到了Terraform,权当学习记录一下,希望能帮助到其它人. Terraform系列文章如下: T ...
- 02-JS中的数据类型及类型转换
02-JS中的数据类型及类型转换 一.数据类型 JS中的值,无论是字面量还是变量,都有明确的类型. (一)概述 1.基本类型5种 number 数字类型 string 字符串类型 boolean 布尔 ...
随机推荐
- java图书管理系统(桌面版本)
运行效果: 注册登陆界面 注册存在的账户时 登陆之后主界面如下 点击图书管理-图书更新界面如下 图书列表 项目说明: 由于平时工作比较忙,也没时间写,可是我在公众号后台看见好多小伙伴讨论,我就抽时 ...
- 把Customer Order的列表页面的代码,分离到组件里
1.新增Shared文件夹,在Shared下新增OrdersListView.razor 2.在_Imports.razor文件里添加一行 3.重命名Pages/Trade目录下的OrdersList ...
- 【Azure App Services】多次操作App Service伸缩实例遇见限制操作记录
问题描述 多次操作App Services,进行实例数的变化.达到限制后遇见报错: 错误的具体描述为: { "status": "Failed", " ...
- 【夏令时】用@JsonFormat(pattern = “yyyy-MM-dd“)注解,出生日期竟然年轻了一天
前言 缘由 用@JsonFormat(pattern = "yyyy-MM-dd")注解,出生日期竟然年轻了一天 艺术源于生活,bug源于开发. 起因是艰苦奋战一个月,测试及验收都 ...
- docker部署监控Prometheus+Grafana
目录 一.Prometheus简介 二.Prometheus基本原理 三.Prometheus架构图 四.Prometheus特性 五.Prometheus组件 六.Prometheus服务发现 七. ...
- Go语言VSCode开发环境配置
最近学习Golang,先把开发环境配置好. 一.安装Go语言开发包 https://golang.google.cn/dl/ 按步骤安装即可,安装完成后需要设置Windows环境变量 配置好,做个测试 ...
- java服务OOM和CPU飙升排查
一.JVM参数 -D 可以是系统默认有的参数,也可以是自己定义的参数 -Dfile.encoding=UTF-8 -Dmaven.test.skip=true -Dspring.profiles.ac ...
- Lock wait timeout exceeded; try restarting transaction-Mysql报错
一.问题由来 现在在做一个小程序的后台,使用Java写的,数据库使用的Mysql,之前一直调试的时候都好好的,今天在调试的时候突然就报一个错: ### Error updating database. ...
- 网络io与select
我们知道网络IO模型一共有5种,这里我们主要讨论同步IO和select多路复用的情况. 我们先从一个简单的TCP服务器的代码出发,来讨论一下这个是怎么实现的. 一个十分简单的TCP服务器 一个简单的T ...
- zhelper-cvtool
https://github.com/bbqz007/zhelper-cvtool cvtool images/SuperMario.mp4 anno,cascade cvtool images/Su ...