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 布尔 ...
随机推荐
- Golang使用Gin-swagger搭建api文档
前提是安装好了go环境与vscode环境 并配置过了gin 项目结构 1.先安装swaggo依赖包 //1 go get "github.com/swaggo/files" //2 ...
- 【Azure 应用服务】App Servie网站报403 ModSecurity Action错误
问题描述 App Service 部署应用程序,然后通过App Gateway(WAF) 提供公网访问,但是一直遇见403报错,刷新页面,回退,重新Web页面能缓解403问题. 问题分析 通过浏览器F ...
- Isito 入门(二):Istio 的部署
本教程已加入 Istio 系列:https://istio.whuanle.cn 目录 2,部署 Istio 安装 Helm 部署 istio-base 部署 istiod 部署 istio-ingr ...
- C#多线程(5):资源池限制
目录 Semaphore.SemaphoreSlim 类 Semaphore 类 示例 示例说明 信号量 SemaphoreSlim类 示例 区别 Semaphore.SemaphoreSlim 类 ...
- MVVM框架模式
MVC框架模式 MVP框架模式 MVVM框架模式 MVVM模式即: 1.Model:数据层.网络数据操作,file文件操作,本地数据库操作: 2.View:视图层.布局加载,ui交互. 3.ViewM ...
- 记一次dockerfile无法构建问题追溯
我有一个dockerfile如下: ENTRYPOINT ["/sbin/tini","-g", "--"] CMD /home/scrap ...
- 影刀rpa:第二个项目学习心得
教程有说到元素的关联操作,教程说自上而下的html路径,一时之间没弄清楚,索性就去看了下网页的html源码,才弄清楚到底是咋回事: 我是先选中了列表子元素的价格字段,选择两次以后就能选择到所有列表子元 ...
- MapStruct的一些常规用法
每天坚持写一篇原创文章. 使用过MapStruct之后,再也没用过BeanCopy来复制对象了.确实是非常好用的工具库. MapStruct是一个代码生成器,简化了不同的Java Bean之间映射的处 ...
- epoll和ractor的粗浅理解
我们继续上篇的文章继续更新我们的代码. 首先就是介绍一下epoll的三个函数. epoll_create epoll_ctl epoll_wait 如何去理解这3个函数,我是这样去理解这个函数, 就像 ...
- SparseTable ST表
Sparse Table ST表是一个静态二维数组st[i][j],作用是快速查询(O(1))区间最值(不只是最值,可重复贡献问题都可以用),st[i][j]代表的是在以引索i为起点,长度为\(2^j ...