C#学习笔记

1.输入与输出

cs 复制代码
//输出
Console.WriteLine("绛橘色的日落");  //自动换行
Console.Write("日落");             //不换行
//输入
Console.ReadLine();  //按回车结束
Console.ReadKey();   //任意输入一个字符即结束

一.变量

1.有符号的整型变量

(1)特点

能储存,有一定范围,有符号,正负数包括0的变量类型

(2)存储的范围

|-------|---------------|
| sbyte | -128~127 |
| int | -21亿~21亿多 |
| short | -32768~32767 |
| long | -9百万兆~百万兆 |

2.无符号的整型变量

(1)特点

能储存,有一定范围,0和正数

(2)存储的范围

|--------|----------|
| byte | 0~255 |
| uint | 0~42亿 |
| ushort | 0~65535 |
| ulong | 0~18百万兆 |

3.浮点数

(1)float

存储7~8位有效数字,根据编译器不同,有效数字也可能不一样 四舍五入 有效数字是从左到右从非0数开始算有效数字的

定义:

cs 复制代码
float f = 0.12345678f;

(2)double

存储15~17位有效数字,四舍五入

(3)decimal

存储27~28位有效数字,不建议使用

cs 复制代码
decimal de = 0.123456789m

4.特殊类型

|--------|-------------------|-------|
| bool | 表示真假的数据类型 | 真假类型 |
| char | 用来存储单个字符的变量类型 | 字符类型 |
| string | 用来存储多个字符的,没有上限 | 字符串类型 |

二.常量

1.申明

关键字:const

固定写法: const 变量类型 变量名 = 初始值;

2.特点

(1)必须初始化

(2)不能被修改

三.类型转换

1.隐式转换

(1)相同大类型之间的转换

cs 复制代码
long l = 1;
sbyte sb = 1;
l = sb;

不能用小范围的类型去装载大范围的类型

浮点数:float转换成double,decimal没法用隐式转换

特殊类型:bool char string 他们之间不存在隐式转换

(2)不同大类型之间的转换

有符号的变量无法隐式转换成无符号的

无符号可转有符号的,但是得注意无符号的范围

整数可以转浮点数,浮点数不能转整数,因为整数不能存小数

特殊类型不能与其他类型转换,但char可以转换成比它宽度更大的数值类型

2.显示转换

(1)括号强转

作用:一般情况下,将高精度的类型强制转换为低精度

语法:变量类型 变量名 =(变量类型)

注意: 1.用括号强转可能会出现范围问题造成的异常

2.精度问题造成数据的丢失,不会四舍五入

3.bool和string不能通过括号强转

(2)Pares法

作用:把字符串类型转换为对应的类型

语法 :变量类型.Parse("字符串")

注意:字符串必须能够转换成对应类型,否则报错

(3)Convert法

作用:更准确的将各类型之间进行相互转换,精度比 强转好,会四舍五入

语法:Convert.To目标类型(变量或常量)

cs 复制代码
int a = Convert.ToInt32("12");

注意:1.填写的变量或常量必须正确,否则出错

2.把bool类型也可以转成数值类型 true对应1 false对应0

3.每一个类型都存在对应的Convert中的方法

|---------|-----------|
| sbyte | ToSByte |
| short | ToInt16 |
| int | ToInt32 |
| long | ToInt32 |
| byte | ToByte |
| ushort | ToUInt16 |
| uint | ToUInt32 |
| ulong | ToUInt64 |
| float | ToSingle |
| double | ToDouble |
| decimal | ToDecimal |
| bool | ToBoolean |
| char | ToChar |
| string | ToString |

(4)其他类型转string

作用:拼接打印

语法:变量:toString();

注意:当进行字符串拼接时 就会自动调用tostring转成string

三.异常捕获

作用:可以避免当代码报错时 造成程序卡死的情况

基本语法:

cs 复制代码
//必备部分
try
{
    //希望进行异常捕获的代码块放到try中
    //如果try中的代码报错了 不会让程序卡死
}
catch
{
    //如果出错了 会执行catch中的代码来捕获异常
    //catch(Exception e) 具体报错跟踪 通过e得到具体的错误信息
}
//可选部分
finally {
    //最后执行的代码 不管有没有出错 都会执行其中的代码
}

注意:异常捕获代码基本结构中,不需要加**;** 在里面写代码逻辑是 每一句代码才加**;**

四.字符串拼接

1.方式一

cpp 复制代码
string str = "123";
str = str + "456";
Console.WriteLine(str);

2.方式二

语法:string.Format("待拼接的内容",内容1,内容2,......);

拼接内容的固定规则:想要被拼接的内容用占位符替代 {数字} 数字:0~n 依次往后

cs 复制代码
string str2 = string.Format("我是{0},我今年{1}岁,我想要{3}","绛橘色的日落",18,"发财");

3.控制台打印拼接

可以多填,不可以少填

cs 复制代码
Console.WriteLine("我是{0},我今年{1}岁,我想要{3}", "绛橘色的日落", 18, "发财");

五.if语句

cs 复制代码
if( bool类型值 )
{
    //满足条件要执行的代码;
}
else if( bool类型值 )
{

}
else
{

}

六.switch语句

cs 复制代码
switch( 变量 )
{
    case 常量:
        满足条件执行代码逻辑;
        break;
    case 常量:
        满足条件执行代码逻辑;
        break;
    default:
        如果上面case的条件都不满足 则执行此代码;
        break;
}

贯穿:满足某些条件时 做的事情是一样的 就可以用贯穿

cs 复制代码
switch( 变量 )
{
    case 1:
    case 2:
        满足条件执行代码逻辑;
        break;
    default:
        如果上面case的条件都不满足 则执行此代码;
        break;
}

七.while语句

cs 复制代码
while( bool )
{

}
cs 复制代码
do
{
    语句;
}while()

八.for循环

cs 复制代码
for(初始表达式;条件表达式;增量表达式)
{

}
相关推荐
留岁1 小时前
Git 命令行学习记录
git·学习·elasticsearch
小黄人软件1 小时前
aipy学习 核心循环
学习
ss2731 小时前
AI时代首先数据库-PostgreSQL实战笔记 | 16 PostgreSQL子查询与嵌套查询(下)
数据库·笔记·postgresql
asdzx671 小时前
C# 将 HTML 转换为 PDF:基于 Chrome 的转换方案
pdf·c#·html
小弥儿1 小时前
GitHub今日热榜 | 2026-10-19:智能体生态包场的一天
学习·开源·github
kkkkkkkkkk_Z1 小时前
新手自学嵌入式 | 学习日记:EPIT/GPT定时器、输入捕获与PWM、UART通信与Modbus协议
单片机·gpt·学习
云水初2 小时前
【项目篇】基于LanGraph的自动处理客服邮件的 Agent汇总
开发语言·笔记·python·学习·fastapi·langgraph
1-1=02 小时前
.NET 实现后台任务
c#·.net·.netcore·quartz·hangfire
步步为营DotNet2 小时前
从分代预算到 DATAS:.NET GC 调优到底在调什么
c#·.net·内存管理·gc·datas