Skip to content

基础笔记

一、控制台输出与输入

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 默认为 0bool 默认为 false 等)。

六、类型转换

隐式转换(类型安全)

有符号整数类型转换
  • 从小范围到大范围可以隐式转换:
    sbyte → short → int → long
    
无符号整数类型转换
  • 也需从小到大方向:
    byte → ushort → uint → ulong
    
整型与浮点型之间
  • 整型 → 浮点型:允许隐式转换,例如:
    int a = 10;
    float b = a; // 合法
    
  • 浮点型 → 整型不能隐式转换,需使用强制转换(见下文)。
特别说明
  • decimal 类型不参与隐式转换,使用时必须显式转换。
  • 有符号类型并不总能隐式转换无符号类型,必须确保数值范围能被目标类型完整表示。
  • stringcharbool 均不支持与其他类型之间的隐式转换。
关于浮点数的科学计数法
  • 若数值过大,控制台可能显示为科学计数法(如 1.23E+10),但实际存储未变。

显式转换(强制转换)

  • 格式:(类型)变量名
  • 用于不兼容的类型之间的转换,例如:
    double pi = 3.14159;
    int approx = (int)pi;  // approx = 3
    
  • 注意事项:
  • 若被转换的值超出目标类型范围,会出现数据截断溢出
  • 转换浮点数为整型时,小数部分会被直接舍去。