C#的开始
命名空间
命名空间是程序的内部的组织系统,向外公开的组织系统
命名空间好比是不同储存的仓库,using关键字 就像把仓库的钥匙,命名空间的名称可以对应着仓库名称,特定的钥匙可以打开指定的仓库名称,从而在仓库中获取所需的物品
using系统命名空间
引入系统空间来使用
using [命名空间名称]
namespace用户自定义命名空间
自行创建的命名空间,可以控制空间内里的类和方法,可以引用 用户自定义命名空间 里的 类和方法
namespace [命名空间名];
类
一种数据结构,存储数据成员、方法成员和其它类等内容,便于调用
[类修饰符] class [类名] [基类 或 接口]
{
[类体,内容区块]
}
Main方法
Main方法是程序的入口点,程序中必须有一个Main方法
static void Main(string[] args)
{
[方法体,内容区块]
}
Main方法创建要求:
- 方法必须静态 static
- 方法名Main 首字母必须为大写
- 返回值是 void 或 int
- 命令行参数可选(在使用命令行参数的使用)
标识符
标识符用来标识 类名、变量名、方法名、数组名、文件名的有效字符序列
命名规则:
- 首字母必须为 字母 或 下划线
_
- 其余部分可以有:字母、数字、下划线
_
程序命名规范 (好习惯)
项目名:公司+产品名
命名空间名:公司名称 / 产品名称
接口名:名称前缀加 字母 I
(大写I)
类名:功能以及操作的说明
方法名:动宾短语,行为的说明
成员变量:名称前缀加 字符 _
(下划线)
//系统命名空间
using System;
//用户自定义命名空间
namespace _2._2._1
{
//类
class Program
{
//Main方法,入口方法
static void Main(string[] args)
{
//输出Hello World!
Console.WriteLine("Hello World!");
Console.ReadLine();
}
}
}
变量
一个变量就是存储区(内存)中的一个存储单元
变量的命名规则:
- 变量名只能由数字、字母和下划线组成
- 变量名第一个符号只能是字母和下划线,不能是数字
- 不能使用关键字作为变量名
声明变量
声明变量是根据类型分配空间来初始化内存空间
声明语法:
- 变量类型 变量名 = 数值;
- 变量类型 变量名;变量名 = 数值;
- 变量类型 变量名1,…,变量名n;
赋值变量
使用赋值运算符=
来给变量赋值,左边为值右边为变量
int i;
i = 4;
变量的作用域
成员变量
类内定义的变量称为成员变量,成员变量限于类中有效
也可以声明静态的变量,在类型前面添加static关键字,可跨类使用变量!
局部变量
类方法中定义变量或循环范围内,变量会仅限于范围内的使用
数值类型
数值类型决定了变量类型,值类型是从System.ValueType类继承来的
特性:
- 值类型变量都存储在栈中
- 访问值类型变量时,一般都是直接访问实例
- 每个值类型变量都有自己的数据副本,因此不会影响其他变量
- 复制值类型变量时,复制的是变量的值,而不是变量的地址
- 值类型变量不能为null,必须具有一个确定的值
整数类型
类型 | 说明 | 范围 |
---|---|---|
sbyte | 8位有字符 | -128~127 |
short | 16位有字符 | -32768~32767 |
int | 32位有字符 | ··· |
long | 64位有字符 | ··· |
byte | 8位无字符 | 0~255 |
ushort | 16位无字符 | 0~65535 |
uint | 32位无字符 | 0~4294967295 |
ulong | 64位无字符 | ··· |
浮点型
类型 | 说明 |
---|---|
float | 7位数 |
double | 16位数 |
布尔型
bool 关键字 布尔类型 主要分为true(真)、false(假)值
枚举型
枚举型具有相同性质的 常量,可以将多个不同的名称组成
enum 枚举名{
//定义常量区块
list1 = value1;
list2 = value2;
·····
listN = valueN;
}
//调用
枚举名.listN
类型转换
隐式转换
不需要声明就能进行类型转换
显示转换
需要强制转换,要明确转换类型
- (类型名)表达式
- Convert.To类型名(表达式)(常用的)
- 类型名.Parse(表达式)
装箱
装箱允许将值类型隐式转换成引用类型
int i = 2020;
object obj = i;//装箱
拆箱
拆箱允许将引用类型显示转换为值类型
int i = 2020;
object obj = i;
int j = (int)obj;//拆箱
常量
常量是固定不变的量,是在声明的时候就已经固定了
表达式
表达式是由运算符合操作数组成的
运算符
算术运算符
运算符的符号 :+
、-
、*
、/
、%
赋值运算符
赋值运算符为变量、属性、事件等元素赋新值
名称 | 运算符 | 运算规则 | 意义 |
---|---|---|---|
赋值 | = | 将表达式赋值给变量 | 将右边的值给左边 |
加赋值 | += | x+=y | x = x + y |
减赋值 | -= | x-=y | x = x - y |
除赋值 | /= | x/=y | x = x / y |
乘赋值 | *= | x*=y | x = x * y |
模赋值 | %= | x%=y | x = x%y |
位与赋值 | &= | x &= y | x = x & y |
位或赋值 | |= | x|=y | x = x | y |
右移赋值 | >>= | x>>=y | x = x>>y |
左移赋值 | <<= | x<<=y | x = x<<y |
异或赋值 | ^= | x^=y | x = x ^y |
关系运算符
关系运算符用来比较并得出真、假、相同
修饰符 | 运算符 | 说明 |
---|---|---|
bool | > | 比较左边是否大于右边 |
bool | < | 比较右边是否大于左边 |
bool | == | 比较双方是否相同 |
bool | >= | 比较左边是否大于等于右边 |
bool | <= | 比较右边是否大于等于左边 |
bool | != | 比较双方是否不相同 |
逻辑运算符
逻辑运算符是组合的关系运算结构构成的表达式
运算符 | 含义 | 说明 |
---|---|---|
&&、& | 与 | 双方为真,则真 |
|| | 或 | 一方为真,则真 |
! | 非 | 本身为真,则假 |
例子: