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 布尔 ...
随机推荐
- django中_meta组件
# _meta组件是一个django中任何一个model类的类实例用来自省的api,简单点说,比如有一个Accounts的模型,则 Accounts._meta # 常用接口 model.Userin ...
- py.path模块
# https://py.readthedocs.io/en/latest/path.html import os dir_path = "/home/lw/" os.path.j ...
- toml格式配置文件介绍
toml官方wik toml官方文档 此次文档是以v1.0.0为例,进行说明的.如果使用到的版本不同,直接去官方文档中找对应的版本即可. 谈到配置文件,大家都能说出来好几种,比如常见的ini.xml. ...
- 在Vue中使用Canvas绘制背景
好家伙, 在vue中使用canvas绘制与在html中使用canvas绘制大致相同, 但又有所区别 法一(无图片资源): vue中canvas的使用 - 掘金 (juejin.cn) 找到canca ...
- 关于centos安装32位兼容库找不到依赖包的问题
可以看这个博主写的 https://blog.csdn.net/ai74le/article/details/87195077
- C程序分别实现下列字符阵列的输出
C程序分别实现下列字符阵列的输出:(https://zhuanlan.zhihu.com/p/443989560 可以参考这个博主写的) 1,左下三角形(代码) 1 #include <s ...
- MAUI发布APK初体验
目的 很早就有想编写安卓程序玩玩的念头了,所以这次学习将MAUI程序生成apk包来玩. 本文apk下载地址:https://azrng.lanzouv.com/iBQRe0eeg8wf ,内容很简单, ...
- AIGC下一步:如何用AI再度重构或优化媒体处理?
让媒资中"沉默的大多数"再次焕发光彩. 邹娟|演讲者 编者按 AIGC时代下,媒体内容生产领域随着AI的出现也涌现出更多的变化与挑战.面对AI的巨大冲击,如何优化或重构媒体内容生产 ...
- Java 重写equals
1 package com.bytezreo.objectclass; 2 /** 3 * 4 * @Description 重写equals 5 * @author Bytezero·zhengle ...
- [.Net 6]写一个简单的文件上传控件后端
此项目是配合上一篇文章[Vue]写一个简单的文件上传控件 - 林晓lx - 博客园 (cnblogs.com) 的后端程序,使用.Net 6项目框架搭建,开发前请安装Visual Studio 20 ...