当前位置: 首页 > news >正文

C#篇1 输入输出流, 值类型, 值类型转换

日期: 2026年3月5日

VS创建C#控制台工程时遇到错误

image-20260302142757404

image-20260302140746584

解决方法:

打开cmd->输入dotnet --info

这里为空

image-20260302143026868

修改环境变量

image-20260302143106018

image-20260302143117791

C:\Program Files(x86)\dotnet\放到没有x86的下面即可, 再次在控制台输入信息, 发现有了版本信息.

注释格式

//行注释
/*多行注释*/

输出流

System->Console类

它提供了与命令行窗口(黑窗口)交互的基本方法,包括输出文本、读取用户输入、设置颜色、控制光标位置等。下面我会从最常用的基础操作开始,逐步深入。

/*基础打印*/
Console.WriteLine("Hello, World!");	//行末尾会换行
Console.Write("我是");	//末尾不换行
Console.Write("好人");/*占位符*/
Console.WriteLine("我叫{0},年龄{1}", "小明", 12); //占位符输出, 必须严格从0编号, 0也是后面的参数第一个
Console.WriteLine("我叫{1},年龄{0}", "小明", 12); //我叫12,年龄小明/*字符串插值*/
string name = "小明";
int age = 10;
Console.WriteLine($"我叫{name},今年{age+10}岁。"); //可以放表达式/*格式化打印*/
sbyte a = 110;
Console.WriteLine($"0x{a:x}");	//打印16进制, 小写用x, 大写用X
Console.WriteLine($"{a:F2}");   //保留两位小数

值类型

C#的数据类型有两种: 值类型, 引用类型.

1.1 整型

关键字 .NET 类型 大小 范围 默认值 说明
sbyte System.SByte 1 字节 -128 到 127 0 有符号 8 位整数
byte System.Byte 1 字节 0 到 255 0 无符号 8 位整数
short System.Int16 2 字节 -32,768 到 32,767 0 有符号 16 位整数
ushort System.UInt16 2 字节 0 到 65,535 0 无符号 16 位整数
int System.Int32 4 字节 -2,147,483,648 到 2,147,483,647 0 有符号 32 位整数(最常用)
uint System.UInt32 4 字节 0 到 4,294,967,295 0 无符号 32 位整数
long System.Int64 8 字节 -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807 0L 有符号 64 位整数
ulong System.UInt64 8 字节 0 到 18,446,744,073,709,551,615 0 无符号 64 位整数

注意:整数字面量默认为 int,如果需要其他类型,可以使用后缀(如 L 表示 longU 表示 uintulong)。

sbyte a = 10;
Console.WriteLine(a);byte b = 0x11;
Console.WriteLine(b);short c = 10;
Console.WriteLine(c);ushort d = 10;
Console.WriteLine(d);int e = 10;
Console.WriteLine(e);uint f = 10;
Console.WriteLine(f);long g = 104;
Console.WriteLine(g);ulong h = 103;
Console.WriteLine(h);byte a = 0x13 + 0x34 + 0x98 + 0x98; //错误,超出范围

1.2 浮点型

关键字 .NET 类型 大小 精度 范围(近似) 默认值 说明
float System.Single 4 字节 约 6-9 位有效数字 ±1.5e-45 到 ±3.4e38 0.0f 单精度浮点数,使用 f 后缀
double System.Double 8 字节 约 15-17 位有效数字 ±5.0e-324 到 ±1.7e308 0.0 双精度浮点数(默认浮点类型)
decimal System.Decimal 16 字节 28-29 位有效数字 ±1.0e-28 到 ±7.9e28 0.0m 高精度十进制数,适用于财务计算,使用 m 后缀

注意

  • floatdouble 是二进制浮点数,可能产生舍入误差,不适合精确计算(如货币)。
  • decimal 使用十进制表示,适合需要精确计算的场景,但性能比 double 低。
float a = 3.14f;  //必须加f后缀
Console.WriteLine(a);double v = 4.32;
Console.WriteLine(v);decimal i = 10.2M; //必须加M后缀
Console.WriteLine(i);

1.3 字符型

关键字 .NET 类型 大小 范围 默认值 说明
char System.Char 2 字节 表示一个 Unicode 字符(U+0000 到 U+FFFF) '\0' 字符类型,用单引号表示,如 'A'
char c = 'a';
Console.WriteLine(c); //'a'

1.4 布尔型

关键字 .NET 类型 大小 默认值 说明
bool System.Boolean 1 字节 truefalse false 逻辑布尔值
bool a = 1; //错误
bool a = (bool)1; //错误
Console.WriteLine(a);

值类型转换

隐式转换: 小转大

byte b = 10;
int i = b; // 隐式转换,不需要显式转换int intValue = 42;
long longValue = intValue; // 隐式转换,从 int 到 long

显示转换: 大转小, 丢失精度

double doubleValue = 3.14;
int intValue = (int)doubleValue; // 3
Console.WriteLine(intValue);int a = 2026;
byte b = (byte)a;
Console.WriteLine(b); //234

输入流

System->Console类

最常用的是 Console.ReadLine(),它会读取用户输入的一整行文本(以回车结束),返回一个 string 类型。

Console.Read()Console.ReadKey() 可以读取单个字符。

  • Console.Read():返回输入的第一个字符的 ASCII 码(int),需要转换。
  • Console.ReadKey():读取用户按下的一个键(不按回车),返回 ConsoleKeyInfo 对象。
Console.Write("请输入你的名字:");
string name = Console.ReadLine();
Console.WriteLine($"你好,{name}!");Console.Write("按下一个键:");
int ascii = Console.Read();   // 注意:Read() 会在用户输入字符并回车后返回第一个字符的编码
Console.WriteLine($"你按下了:{(char)ascii}");Console.Write("按任意键继续...");
ConsoleKeyInfo keyInfo = Console.ReadKey();  // 默认会显示按下的键
Console.WriteLine($"\n你按下了:{keyInfo.KeyChar}");
http://www.jsqmd.com/news/439299/

相关文章:

  • Ubuntu24安装ClaudeCode
  • 2026学历提升、成人自考机构TOP5排行榜:硬核测评+避坑指南,职场人升本不踩雷 - 深度智识库
  • 别再浪费!支付宝立减金用不上?正规渠道这样处理更省心 - 可可收
  • 针对 WSL 环境的特殊处理(如果你用的是 Windows 子系统)
  • 2026京津冀卡座床头软包新选择,免费上门服务公司一览,专业沙发翻新/卡座床头软包,卡座床头软包品牌有哪些 - 品牌推荐师
  • 微信立减金回收陷阱频发!教你3步避坑,认准合规渠道更安心 - 可可收
  • 盘点河南性价比高的短视频推广公司,企业抖音代运营哪家强 - 工业推荐榜
  • 如何审计域控制器登录活动?
  • 2026年3月冬阴功调味粉供应商权威推荐,技术实力与市场口碑深度解析 - 品牌鉴赏师
  • 手动安装GPU版本PyTorch
  • 2026年3月,扬州考研生如何甄选高性价比辅导机构? - 2026年企业推荐榜
  • 2026年3月四川西嘉助听器公司权威推荐,高性能与可靠性兼具优质品牌 - 品牌鉴赏师
  • 基本子串结构
  • 2026年3月管道离心泵厂家推荐,专业制造与品牌保障口碑之选 - 品牌鉴赏师
  • 2026年扬州考公培训选择指南:性价比机构深度解析 - 2026年企业推荐榜
  • 破局本科文献综述:Paperzz 如何用三步法搞定 5000 字规范写作
  • 香港中文大学(深圳)MicroVerse:微观生物过程可视化技术突破
  • 2026年浙江振动盘定制厂家排名,哪家价格更合理 - 工业品牌热点
  • 携程任我行礼品卡能换现金吗?盘点那些靠谱变现渠道! - 团团收购物卡回收
  • 鸿蒙应用开发UI基础第十七节:基于 PixelMap 实现图片合成、GIF生成与内存优化 - 鸿蒙
  • Meta推出代码推理新技术:让AI不运行程序也能分析代码漏洞
  • 2026年四川防腐木木屋厂家哪家好?靠谱耐用实力出众 适配多场景需求 - 深度智识库
  • 银泰百货卡哪里回收方便,专业平台揭秘回收途径 - 淘淘收小程序
  • 2026年扬州公考笔试培训口碑盘点:5家可靠机构深度解析 - 2026年企业推荐榜
  • 2026年彩色复印机出租怎么收费,京津冀权威商家排名情况如何 - 工业品网
  • 如何快速进行携程任我行礼品卡回收变现?全面攻略大揭秘! - 团团收购物卡回收
  • 2026年3月菌汤火锅底料供应商最新推荐,鲜香浓郁营养健康 - 品牌鉴赏师
  • IAR亮相Embedded World 2026,全面加速SDV开发进程
  • 2026年九江值得选的职业院校,江西万通学院老师负责任吗大揭秘 - 工业设备
  • 2026年3月丽江污水处理设计公司推荐:行业权威盘点品质红榜 - 品牌鉴赏师