一、.NET课程简介(DotNET全程)
1、DotNET是微软公司旗下的一种用作于软件网络开发的新型技术。
2、世界上最流行的操作系统是windows系统。
3、.NET Framework 是指DotNET的运行环境
二、C#语言
1、是微软旗下的一门新兴的计算机语言,C#是做.NET开发的一种语言工具
2、C#语言是一种运行在.NET Framework平台之下的一种编程语言。我们用C#语言进行开发程序。他必须基于.NET平台之下进行开发。.NET平台把C#语言翻译成机器语言。以达到计算机可以正确运行我们所写的程序的目的。
三、计算机语言
语言:是用来沟通交流的一个媒体介质
计算机语言:人类和计算机之间、计算机与计算机之间交流的一种语言
四、简单历史
- 机器语言
计算机能够直接识别的语言电子,±[1,0])二进制语言 - 汇编语言
VB - 高级语言
面向对象:C++、C#、Java、Python、PHP、Go、Ruby
面向过程:C
五、C#语言的发展
比尔盖茨,写出来的第一个语言模板在IBM公司的计算机上测试的。
微软公司:Windows系统诞生将微软公司推上巅峰
世界上最早的图形化操作界面系统:将操作系统从黑框带向了色彩斑斓的现代化图形界面
C面向过程:执行效率高,编程效率低
微软决定对C语言进行再次封装,C++诞生
SUN公司程序员詹姆斯高斯林,决定自己对C进行封装,在爪哇岛研究出第一个Java版本
SUN公司挖走了很多微软的生意,Java语言是开源语言,C++提倡非开源盈利性大
微软决定和SUN公司联手对C++和Java共同升级:J++
J++还未完成正式版本,两家为了Java主权打官司,SUN公司收回Java主导权,微软决定自己研究:C++++=>C#
C#是微软联合C++及Java共同的优点做出的升级
六、C#发展历程
1998年12月,微软启动了一个全新的语言项目——COOL,这是一款专门为CLR设计的纯面向对象的语言,也正是本文的主角——C#的前身。
1999年7月份,微软完成了COOL语言的一个内部版本。
2000年2月份,微软才正式将COOL语言更名为C#
2003年5月,微软推出了Visual Studio .NET 2003,同时也发布了C#的改进版本——C# 1.1。
2004年的6月份发布了Visual Studio2005的第一个Beta 版,同时向开发者展示了C#语言的2.0版本。
2005年9月份的PDC大会——C#3.0(研发代号“Orcas”——魔鬼)的技术预览版。
七、C#前景
- 目前最为流行的不应该是Java
在国内历史原因
美国-日本-台湾-内陆10年左右
其实在21世纪初期Java以及覆盖了全中国
目前情况:Java岗位天天有,Java工程师天天多 - C#语言青春
发展比较缓慢,无法直接替代某些已有的产业
业务逐步在上升
微软不倒C#永存,C#语言目前实现了完全跨平台
八、.NET全栈课程大纲
- C#基础语法 1个月 勤
面向对象概念
属性类型
类型转换
逻辑控制语句
运算符
断点调试
I/O流处理 - C#高级编程 1个月 想+勤
面向对象编程
虚拟抽象概念
接口
枚举
委托、事件
多线程
Socket网络通信
GDI绘图 - SQL Server 0.5个月 勤
建库建表键约束
高级查询
事务、视图、索引
存储过程 - ADO.NET模块1个月 勤
连接数据库
C#后台操作数据库
三层架构+工厂模式
Log4NET日志记录
WebService/WCF分布式开发
GIT分布式版本控制器 - ASP.NET模块 1.5个月 想
Webform框架
MVC4、5开发框架
WEB API分布式开发 - .NET Core模块 想
跨平台开发
九、软件开发行业
1.计算机系统
软件系统+硬件系统
2.软件系统
逻辑上:应用软件+系统软件
技术上:C/S+B/S
十、 C/S
Client Server:客户端服务
在操作平台上有一个可执行程序文件
可执行程序:指在这个平台上的这个可执行程序文件直接能够被计算机识别二进制产品)
十一、 B/S
Browser Server:浏览器端服务
必须依赖浏览器,而浏览器是一个C/S程序,B/S程序建立在C/S程序的基础上
网站:由一系列网页构成的一个站点
十二、.NET Framework平台
.Net平台是微软搭建的技术平台,技术人员在此平台上进行应用的搭建与开发。它提供了运行所必须的环境.NET Framework类库以及CLR(公共语言运行时)。好比我们人类的生存必须基于有氧气的基础之下。程序也不例外,它的运行也需要很多所必需的环境。这就是.Net平台 。
- 公共语言运行时CLR)
遵循公共语言架构的标准,能够使C++、C#、VB以及JavaScript等多种语言深度集成。CLR从某种意义上理解相当于Java中的Java虚拟机JVM)。 - 基类库(BCL)
代表了.NET框架的核心。不管人们开发何种应用程序,BCL总是作为构建其他所有功能的起点。 - 公共语言规范CLS)
公共语言规范是一组结构和限制条件,它是公共类型系统的子集,它们一起定义了允许不同编程语言的标准集,由这些编程语言编写的应用程序可以互操作。
十三 .NET Framework环境结构
1.NET 框架编译和执行
编译:对语言代码进行检查,处理,翻译成二进制
十四、C#语法基础
C#是一门面向对象的计算机语言
十五、面向对象
对象:程序员在计算机世界里通过代码用来描述世间万物
对象由三个层次组成:
- 属性:描述一个对象的外貌特征数据的
- 方法:主动行为)对象自身所具有的行为能力
- 事件:被动行为)对象被其他对象以某种方式影响之后产生的行为能力
面向对象:程序员使用面向对象的计算机语言通过对目标对象的属性、行为封装最终拿到目标对象
十六、开发IDE
.NET开发指定的开发工具是Visual Studio2017-2019
选择的.NET版本4.6-4.7都行,工作中听技术总监的.NET版本向上兼容.NET技术特有的优点)
十七、Windows系统
1. Windows常用快捷键
- Alt+F4:关闭当前运行程序、关机
- Alt+tab:切换运行程序
- Win+d:显示桌面
- Win+e:打开我的电脑
- Win+l:锁定计算机
- Win+m:最小化所有电脑
- Win+r:开启运行窗口
2. 常用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计算机之间能否正常连接
3. 常见的文件类型
文件是用来存储数据的物理载体 - .txt 文本文档
- .doc/.ppt/.xls Office文档
- .mp3/wav 音乐文件
- .mp4视频文件
- .jpg/png/gif 图片文件
- .html 网页文件
- .css 样式文件
- .js JavaScript脚本文件
- .cs C#脚本文件
- .exe windows系统上的可执行程序文件
十八、Winform框架
(1)核心文件
- Form1.cs文件:winform框架的基础文件
- Program.cs文件:项目的主程序文件,Main函数是项目的主入口点
- .sln文件:解决方案运行快捷文件,用来使用vs工具打开解决方案
- 解决方案:针对一个项目可以提出不同的方案,是项目的一个集合
- App.config:项目的配置文件
- Form1.cs文件:winform框架的C#代码文件
- Form1.Designer.cs文件:Winform框架的图形化界面代码文件
- bin文件夹:程序的调试文件夹
- Debug文件夹:调试结果文件夹
(2)winform操作
- 双击一个对象添加这个对象的默认事件
- 双击Winform窗体添加的是加载事件
- 其他事件的添加方式:选择到事件窗口中,寻找目标时间双击事件名
- 事件如何理解
十九、属性赋值
this关键字指当前对象
掌握代码书写规范:属性赋值代码必须写在行为中,以主谓宾形式写
private void Form1_Loadobject sender, EventArgs e)
{
this.BackColor = Color.Red;
}
Jetbrains全家桶1年46,售后保障稳定
this点出来的结果都是:form对象的成员
属性-黑色扳手:直接跟等号
方法-紫色方块:小括号分号
事件-闪电
1. 看属性类型如果是C#中预定义的15种属性类型则直接赋值
看属性类型:鼠标放在要看的属性单词身上,在弹出的气泡中的第一个单词就是这个属性的类型
this.AccessibleDefaultActionDescription = “qwe”;
2. 等号后面先试着空格,如果出现智能提示直接敲点,选择一个需要的分号结束
this.WindowState = FormWindowState.Normal;
3. 空格没反应,等号后面先new,在敲空格,出现智能提示,直接一对小括号分号,然后删掉前半个括号,再添加上,对括号中的每个属性进行逐个赋值
this.Font = new Font“”,20.0f, FontStyle.Bold);
4. 排除前面三步遇到特殊类型,等号后面直接使用属性类型单词点,选择一个分号结束
this.BackColor = Color.Blue;
目前只了解Color类型
15种预定义属性类型
针对不同的数据其存储方式存储空间大小等不一样形式存储,则数据类型不同。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.>不同进制的使用
- 二进制:以0b开头,由0和1组成
- 八进制:以0开头,由0-7组 C#中没有现成的表示方式 )
- 十进制:计算机默认就是十进制,由0-9组成
- 十六进制:以0x开头,由0-9+A-F组成
<2>十进制转任意进制
十进制数字除以进制数,至商0,余数反转
例如:15的二进制是 0b1111,十六进制是0xF
<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
<3>将任意进制转任意进制8421码:)
- 以十进制为桥梁
- 以二进制为桥梁用8421码
8421码:
1111
8421
- 二进制2位组合
- 八进制3位组合
- 十六进制4位组合
例如:0b111011对应的八进制
111 011
7 3=73
二十一、 原码
将一个整数转换成二进制,然后最高位用来表示符号位0表示正数,1表示负数,其余位表示数值位)
二十二、反码
正数的反码和原码一致,负数的反码位数全部取反,除最高位
二十三、补码
正数的补码和原码一致,负数的补码在反码的基础上末尾+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
二十四、方法调用
一个对象的方法调用,直接一对小括号分号,然后方法中的参数按照属性赋值方式进行赋值即可
二十五、Winform基本属性
5.1基本属性
对象尺寸大小Size属性、Width宽度、Height高度
对象的位置Location属性、Left左距离、Top上距离、
Right右距离只读)、Bottom下距离只读)
坐标系:全部基于对象的父级容器做为其坐标系,X轴向右增大,Y轴向下增大
对象的坐标指的是所有的对象的左上角点的位置坐标
二十六、窗口抖动案例
1。使用线程
线程是指计算机在执行代码所读取代码的一种方式,一般都是一行一行阅读,
C#代码是按分号阅读,一个C#文件中的代码事件函数里面,严格按照从上往下的顺序执行
事件执行速度是非常快,而执行代码的这个流程称之为线程
目前使用的是单线程
2。线程所在地
using System.Threading;
3。线程对象
Thread对象
二十七、命名空间
《1》什么是命名空间
是指对象所在的计算机中的一个存储位置,可以理解为对象的地址
《2》什么情况下导命名空间
当开发中需要使用某个封装好的对象,而程序中找不到,这时需要导入,怎样导入需要查询