1. C#特性
1.1 统一的类型系统
C#中, 所有类型都共享一个公共的基类型.
例如,任何类型的实例都可以通过调用ToString方法将自身转换为一个字符串
1.2 类和接口
接口: 用于将标准与实现隔离, 仅仅定义行为,不做实现.
1.3 属性、方法、事件
属性:
封装了一部分对象状态的函数成员,例如按钮的颜色或者标签的文本。
事件:
简化对象状态变化处理的函数成员。
1.4 委托函数
后面详细介绍
1.5 支持纯函数模式
2. C# 语法
2.1 字面量
字面量一般指原始数据,例如下面这段代码中的12、30:
2.2 字符char: System.Char
- 表示一个Unicode字符;
- 占用两个字节(UTF-16);
- char字面量位于两个单引号之间, 如:
char c = 'A' ;
- char类型到数值类型的隐式转换只在这个数值类型可以容纳无符号short类型时有效。其他的数值类型则需要显式转换
2.3 字符串
字符串有一下几点需要注意:
- string类型是引用类型而不是值类型,但是它的相等运算符却遵守值类型的语义
- 原意字符串字面量。即在字符串字面量前面添加@前缀,它的作用是避免使用过多的转义字符,难以理解, 例如:
string a = @"\\server\file\hello.cs";
string xml = @"<costumer id=""123""></customer>"; //用两个双引号来表示一个双引号字符
另外, 主要是由于C#的特性1: 统一的类型系统, 即所有类型共享一个公共的基类型, 所以字符串有几个有趣的调用:
- 调用ToUpper(), 转成大写;
- 调用ToString(), 将其他类型转为string
2.4 值类型
值类型的实例, 赋值时, 会进行实例的复制,开辟新的地址存放新的实例.
值类型的代表有struct类型
2.5 引用类型
引用类型的赋值, 只是拷贝了其指向, 如下图: