基础笔记
一、控制台输出与输入
Console 类常用方法
Console.WriteLine():打印一整行文字,输出后自动换行。
Console.Write():打印文字,输出后不换行。
Console.ReadLine():从控制台接收一整行输入,直到按下回车键。
Console.ReadKey():接收一次键盘输入,任意按键按下即结束输入。
二、C# 文件结构与命名空间
using System; // 引用工具包,类似于 C/C++ 中的 #include
namespace Lesson {
// 若需在其他程序中引用此处定义的类或方法,可使用 using Lesson
class Program {
static void Main() {
// 主函数,程序从此处开始执行
// 若文件作为库或模块存在,主函数可以省略
}
}
}
三、代码折叠(预处理命令)
- 使用
#region 和 #endregion 包裹代码块,可折叠该区域的代码。
- 示例:
#region 这是摘要说明
// 可折叠的代码
#endregion
- 仅在编辑器中生效(如 Visual Studio),不影响编译或程序运行。
四、变量与类型
变量本质
基本数据类型
| 类型 |
描述 |
int |
整型 |
short |
短整型 |
long |
长整型 |
uint |
无符号整型 |
ushort |
无符号短整型 |
ulong |
无符号长整型 |
float |
单精度浮点数(7~8 位有效数字) |
double |
双精度浮点数(15~17 位有效数字) |
decimal |
高精度浮点数(27~28 位有效数字),常用于金融计算 |
bool |
布尔值(true 或 false) |
char |
单个字符(用单引号) |
string |
字符串(用双引号) |
命名规范(约定俗成)
- 驼峰命名法(camelCase):首单词首字母小写,其余单词首字母大写(用于变量、字段)。
- 帕斯卡命名法(PascalCase):所有单词首字母大写(用于类、方法、属性等)。
五、变量初始化规则
- 局部变量在使用前必须显式赋值,否则编译器会报错。
- 成员变量(类中字段)若未显式赋值,会被自动初始化为类型默认值(如
int 默认为 0,bool 默认为 false 等)。
六、类型转换
隐式转换(类型安全)
有符号整数类型转换
- 从小范围到大范围可以隐式转换:
sbyte → short → int → long
无符号整数类型转换
- 也需从小到大方向:
byte → ushort → uint → ulong
整型与浮点型之间
- 整型 → 浮点型:允许隐式转换,例如:
int a = 10;
float b = a; // 合法
- 浮点型 → 整型:不能隐式转换,需使用强制转换(见下文)。
特别说明
decimal 类型不参与隐式转换,使用时必须显式转换。
- 有符号类型并不总能隐式转换无符号类型,必须确保数值范围能被目标类型完整表示。
string、char、bool 均不支持与其他类型之间的隐式转换。
关于浮点数的科学计数法
- 若数值过大,控制台可能显示为科学计数法(如
1.23E+10),但实际存储未变。
显式转换(强制转换)
- 格式:
(类型)变量名
- 用于不兼容的类型之间的转换,例如:
double pi = 3.14159;
int approx = (int)pi; // approx = 3
- 注意事项:
- 若被转换的值超出目标类型范围,会出现数据截断或溢出。
- 转换浮点数为整型时,小数部分会被直接舍去。