Day01_初识C#
01. .Net平台, .NetFrameWork框架. C#的关系
.Net平台:可以按“中国移动互联网平台”来理解;
.Net FrameWork框架:可以按 "信号塔" 来理解;
.Net FrameWork框架是.Net平台中不可缺少的一部分,它提供了一个稳定的运行环境来保证基于.Net平台开发的各种应用稳定的运行;
C#: 是一种编程语言,可以开发基于.Net平台的应用; (Java即是一种平台,又是一种编程语言)
02. .Net能做什么
a. 桌面应用程序: WinForm(.net开发的桌面应用程序,叫WinForm应用程序);
b. Internet应用程序 ASP.Net(.net开发的internet应用程序叫ASP.NET应用程序);
c. 手机开发 wp8;
d. Unity3D游戏开发或者虚拟现实;
03. .Net的交互模式
C/S: 客户机/服务器模式;
B/S: 浏览器/服务器模式;
04. 解决方案、项目、类的理解
解决方案中可以包含多个项目,一个项目中,可以包含多个类 (.cs 文件)
05. C# 结构理解
a. 命名空间:
** 注意:C#中,类文件名称与命名空间是可以不一样的;
** 引用: using 命名空间; (Java中的 import, Delphi中的 uses )
using System;
using System.Collectiions.Generic;
06. 文档结构
一个解决方案,在电脑让展示出来,就是一个文件夹;
解决方案中,每一个项目,是一个独立的文件夹;
在解决方案文件夹下,存在 .suo 的解决方案隐藏文件,这个可以不用关心;只需关心 .sln 解决方案文件即可, 双击.sln文件可直接打开;
.sln: 解决方案文件夹,里面包含整个解决方案的信息,可以双击运行;
.csproj: 项目文件,里面包含着这个项目的相关信息,可以双击运行;
07. 相关快捷方式 (VS 2022) 及注释
ctrl + shift + B: 生成解决方案; 可帮助核查语法错误;
ctrl + B : 生成当前项目
对于其它快捷键,可依据自已的习惯,自行配置
工具》选项》环境》键盘;
* 编辑.设置文档格式( 格式化文档 ) :
* 编辑.删除行 (删除一行);
* 编辑.复制 (复制一行);
* 编辑. 切换行注释(快速单行注释);
* 编辑.切换块注释(快速实现块注释)
* 编辑.将选定行上移 (调整代码位置)
* 编辑.将选定行下移(调整代码位置)
* 调试.启动 (运行软件);
* 调试.切换断点 (配置断点)
* 调试:逐语句;
* 调试:逐过程;
* 视图.查看设计器(新快捷键用于:文本编辑器)
* 视图.查看代码(新快捷键用于:全局)
注释:
单行注释://注释的内容
多行注释:/* 注释的内容 */
文档注释:///
08. 其它设置
a. 行号: 工具》选项》文本编辑器》所有语言》常规
b. 字体:
c. 主题
d. 配置还原
工具>导入导出设置: 可以恢复系统配置;
e. 启动项目的配置
解决方案上面右键》属性, 按习惯自行配置
f. 项目的卸载及加载
卸载: 可以将项目暂时脱离解决方案,但同时又不删除文件;
重新加载:可以重新新项目加载到解决方案并做代码编辑;
09. 基本数据类型
C#中的基本数据类型 Java中的基本数据类型及对应的封装类
C#中的数据转换注意点
a. 小数类型,默认为double;
b. decimal 与 double 之间,互相不能隐匿转换; (浮点间仅支持 float 向 double 的隐式转换)
10. 关于方法中,参数修饰符的使用 (这一点需要注意)
11.再说 面向过程 和 面向对象
面向过程: 关注的是怎么做的问题;注重过程与步骤,不注重职责分工;对于复杂的项目,没有固定的套路,难度较大;
面向对象:关注的是由谁来做的问题;对于一个功能的实现,可以由不同的对象,按不同的顺序来完成;是一种更大程度上的封装;
12. C#中关于类的使用说明
** 访问修饰符
** 关于类的创建
13. Array, ArrayList, List
Array: 数组,对同一类型数据的一个整体的定义,定义好以后,长度不允许变更;
ArrayList:
大小是按其中存储的数据来动态扩充与收缩的;
声明ArrayList时,不需要指定长度;
可以方便的添加,修改,删除内部数据;
---- 但是
存储数据时,使用的是 object类型,所以存在类型不安全的总是,(在添加时,不管什么类型都可以添加进去);
数据存储存在 装箱,拆箱的操作,性能偏低;
List:
与 ArrayList 一样,继承了相同的接口;所以使用上与ArrayList 相似;
在声明List时,需要同时声明 List 集合内的对象类型;
14. 字典 Dictionary;
Dictionary
按Java中的Map理解即可;
15. foreach
* 数组操作
* 集合操作
* 字典操作