C#笔记

C#笔记

苏苏
2023-10-16 / 0 评论 / 8 阅读 / 正在检测是否收录...
温馨提示:
本文最后更新于2023年10月27日,已超过644天没有更新,若内容或图片失效,请留言反馈。

构成 C# 语言的基本元素

关键字(Keywords)

  • if else int long ...

操作符(Operators)

  • +、-、*、/ ^ | ! ...

标识符(Identifier)

  • 类、成员等的名字
  • 要遵循命名规范

标点符号

  • ; , 等

文本(字面值)

  • 整形、长整型、单精度浮点数、双精度浮点数、字符、字符串、布尔值,空

注释与空白

类型(Type)

  • 又名数据类型
  • 数据在内存中存储时的“型号”
  • 小内存容纳大尺寸数据,会丢失精确度、发生错误
  • 大内存容纳小尺寸数据会导致浪费
  • 编程语言的数据类型与数学的数据类型不完全相同

类型的作用

  • 存储此类型变量所需要的内存空间大小
  • 此类型的值可表示的最大值、最小值范围
  • 此类型所包的成员(如方法、属性、事件等)
  • 此类型由何基类派生而来
  • 程序运行时,此类型的变量分配在内存中的位置
  • 此类型所允许的操作(运算)

C#语言的类型系统

C#的五大数据类型

  • 类(Classes):如Window,Form,Console,String
  • 结构体(Structures):如int32,int64,Single,Double
  • 枚举(Enumerations) :如HorizontalAlignment,Visibility
  • 接口(Interfaces)
  • 委托(Delegates)

C#类型的派生谱系

lnr6oy35.png

变量、对象与内存

什么是变量

  • 表面上看,变量的用途是存储数据
  • 实际上,变量表示了存储位置,并且每个变量都有一个类型,以决定什么样的值能够存入变量
  • 变量一共有7种:静态变量、实例变量(成员变量、字段),数组元素、值参数、引用参数、输出形参、局部变量
  • 狭义的变量选择指的是局部变量
  • 变量的声明:[有效的修饰符组合] 类型 变量名 [初始化器]
  • 变量=以变量名所对应的内存地址为起点,以其数据类型所要求的存储空间为长度的一块内存地址

值类型的变量

  • 值类型没有实例,所谓的“实例”与变量合二为一

引用类型的变量与实例

  • 引用类型变量与实例关系:引用类型变量里存储的数据是对象的内存地址

变量的默认值

常量

-值不可改变的变量

装箱与拆箱(Boxing与Unboxing)

int i=100;
object obj = i; // 装箱
int m = int(obj); // 拆箱

操作符

不安全上下文、取地址、引用操作符

class Program
{
    static void Main(string[] args)
    {
        unsafe
        {
            Student stu;
            stu.ID = 1;
            stu.Score = 99;
            Console.WriteLine(stu.ID);
            Console.WriteLine(stu.Score);
            Student* pStu = &stu; // 取地址,交给指针变量
            pStu->Score = 100;
            Console.WriteLine(pStu->Score);
            (*pStu).Score = 1000; // 需要加(),因为.操作符的优先级比*高
            Console.WriteLine(stu.Score);
        }
    }
    
}

struct Student
{
    public int ID;
    public long Score;
}
0

评论 (0)

取消