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 dic = new Dictionary();

   按Java中的Map理解即可; 

 15. foreach

  * 数组操作

  * 集合操作

  * 字典操作