C#语法基础
C#是一门面向对象的计算机语言
1.1面向对象
对象:程序员在计算机世界里通过代码用来描述世间万物
对象由三个层次组成:
-
属性:描述一个对象的外貌特征数据的
-
方法:(主动行为)对象自身所具有的行为能力
-
事件:(被动行为)对象被其他对象以某种方式影响之后产生的行为能力
面向对象:程序员使用面向对象的计算机语言通过对目标对象的属性、行为封装最终拿到目标对象
1.2开发IDE
.NET开发指定的开发工具是Visual Studio2017-2019
选择的.NET版本4.6-4.7都行,工作中听技术总监的.NET版本向上兼容(.NET技术特有的优点)
1.3Windows系统
-
Windows常用快捷键
-
Alt+F4:关闭当前运行程序、关机
-
Alt+tab:切换运行程序
-
Win+d:显示桌面
-
Win+e:打开我的电脑
-
Win+l:锁定计算机
-
Win+m:最小化所有电脑
-
Win+r:开启运行窗口
-
-
常用DOS命令
-
D: 盘符切换到D盘(切换其他盘一样盘符+:+回车)
-
Dir D: 列出D盘下面的所有文件夹以及文件
-
MD New 在当前目录下面创建一个名为New的文件夹
-
RD New: 删除当前目录下面的名为New的文件夹
-
CD D:\360\ 进入D盘下面的360文件夹中
-
CD.. 返回到当前文件夹的上层文件夹中
-
CD\ 返回根目录
-
Del *txt: 删除当前目录下面所有的后缀名为txt的文件
-
CLS 清除控制台窗口
-
Exit 退出控制台窗口
-
mspaint 运行画图工具
-
calc 运行计算器工具
-
ipconfig 查看当前设备的所有IP
-
ping 检查与指定IP计算机之间能否正常连接
-
-
常见的文件类型
文件是用来存储数据的物理载体
-
.txt 文本文档
-
.doc/.ppt/.xls Office文档
-
.mp3/wav 音乐文件
-
.mp4视频文件
-
.jpg/png/gif 图片文件
-
.html 网页文件
-
.css 样式文件
-
.js JavaScript脚本文件
-
.cs C#脚本文件
-
.exe windows系统上的可执行程序文件
-
1.4Winform框架
1.4.1核心文件
-
Form1.cs文件:winform框架的基础文件
-
Program.cs文件:项目的主程序文件,Main函数是项目的主入口点
-
.sln文件:解决方案运行快捷文件,用来使用vs工具打开解决方案
-
解决方案:针对一个项目可以提出不同的方案,是项目的一个集合
-
App.config:项目的配置文件
-
Form1.cs文件:winform框架的C#代码文件
-
Form1.Designer.cs文件:Winform框架的图形化界面代码文件
-
bin文件夹:程序的调试文件夹
-
Debug文件夹:调试结果文件夹
1.4.2winform操作
-
双击一个对象添加这个对象的默认事件
-
双击Winform窗体添加的是加载事件
-
其他事件的添加方式:选择到事件窗口中,寻找目标时间双击事件名
-
事件如何理解
1.5属性赋值
this关键字指当前对象
掌握代码书写规范:属性赋值代码必须写在行为中,以主谓宾形式写
private void Form1_Load(object sender, EventArgs e)
{
this.BackColor = Color.Red;
}
this点出来的结果都是:form对象的成员
属性-黑色扳手:直接跟等号
方法-紫色方块:小括号分号
事件-闪电
-
看属性类型如果是C#中预定义的15种属性类型则直接赋值
看属性类型:鼠标放在要看的属性单词身上,在弹出的气泡中的第一个单词就是这个属性的类型
this.AccessibleDefaultActionDescription = "qwe";
-
等号后面先试着空格,如果出现智能提示直接敲点,选择一个需要的分号结束
this.WindowState = FormWindowState.Normal;
-
空格没反应,等号后面先new,在敲空格,出现智能提示,直接一对小括号分号,然后删掉前半个括号,再添加上,对括号中的每个属性进行逐个赋值
this.Font = new Font("",20.0f, FontStyle.Bold);
-
排除前面三步遇到特殊类型,等号后面直接使用属性类型单词点,选择一个分号结束
this.BackColor = Color.Blue;
目前只了解Color类型
1.6属性类型
针对不同的数据其存储方式存储空间大小等不一样形式存储,则数据类型不同。C#中提供了15种预定义属性类型
-
整数8种
位:决定了数据的取值范围大小,多少位指的就是2的多少次方
有无符号:指能否取得负数
byte 8位无符号整数
sbyte 8位有符号整数
ushort 16位无符号整数
short 16位有符号整数
uint 32位无符号整数
int 32位有符号整数
ulong 64位无符号整数
long 64位有符号整数
this.Height = 2147483647;
-
浮点型3种
float 单精度
double 双精度
decimal 精度
double a = 200.03; float b = 200.03F; decimal c = 200.03M;
-
布尔型 bool
bool true/false
-
字符型 char
单引号中有且只有一个
char d = '啊';
-
字符串 string
双引号中随便写
string str = "123awed请问";
-
对象型 object
等号之后随便写,按照类型写正确
object o = this;
1.7数据存储原理
整数在计算机中存储是以补码的方式存储的,想要知道补码,必须先知道数字进制转换和原码和反码
1.7.1不同进制的使用
-
二进制:以0b开头,由0和1组成
-
八进制:以0开头,由0-7组 (C#中没有现成的表示方式 )
-
十进制:计算机默认就是十进制,由0-9组成
-
十六进制:以0x开头,由0-9+A-F组成
1.7.2十进制转任意进制
十进制数字除以进制数,至商0,余数反转
例如:15的二进制是 0b1111,十六进制是0xF
1.7.3任意进制转十进制
数据从右至左从0开始排序,位数字乘以进制数的序号次方之和
例如:求0b101011的十进制
101011
543210:1 * 2^5+0 * 2^4+1 * 2^3+0 * 2^2+1 * 2^1+1 * 2^0=32+ 0+8+0+2+1=43
例如:求八进制123的十进制
123
210:1 * 8^2+2 * 8^1+3 * 8^0=64+16+3=83
1.7.4将任意进制转任意进制
-
以十进制为桥梁
-
以二进制为桥梁用8421码
8421码:
1111
8421
-
二进制2位组合
-
八进制3位组合
-
十六进制4位组合
例如:0b111011对应的八进制
111 011
7 3=73
1.7.5 原码
将一个整数转换成二进制,然后最高位用来表示符号位(0表示正数,1表示负数,其余位表示数值位)
1.7.6反码
正数的反码和原码一致,负数的反码位数全部取反,除最高位
1.7.7补码
正数的补码和原码一致,负数的补码在反码的基础上末尾+1
符号位 | 原码 | 反码 | 补码 | |
---|---|---|---|---|
+7 | 0 | 0000111 | 0000111 | 0000111 |
-7 | 1 | 0000111 | 1111000 | 1111001 |
-
十进制负整数转二进制算法
将十进制输出转化成二进制数,不管符号
对转化的二进制数逐位取反
对取反后的二进制数加1,结果就是十进制负数转化成的二进制数
-5转化成二进制数 (十进制)5=(二进制)00000101 (二进制)00000101逐位取反为:11111010 二进制数+1得:11111011
-
计算机存储数据
最小的存储单元是bit 比特
最小的数据单位是Byte 字节 1byte=8bit
KB 1KB=1024Byte
1.8方法调用
一个对象的方法调用,直接一对小括号分号,然后方法中的参数按照属性赋值方式进行赋值即可