• Day01~08_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 :  生成当前项目

      对于其它快捷键,可依据自已的习惯,自行配置

      工具》选项》环境》键盘;

        *  编辑.设置文档格式( 格式化文档,快速对齐 ) :    

        * 编辑.删除行 (删除一行);

        * 编辑.复制 (复制一行);

        * 编辑. 切换行注释(快速单行注释);

        * 编辑.切换块注释(快速实现块注释)

        * 编辑.将选定行上移 (调整代码位置)

        * 编辑.将选定行下移(调整代码位置)

        * 调试.启动 (运行软件);

        * 调试.切换断点 (配置断点)

        * 调试:逐语句;

        * 调试:逐过程;

        * 视图.查看设计器(新快捷键用于:文本编辑器)

        * 视图.查看代码(新快捷键用于:全局)

        * 编辑.外侧代码  (动态选择一些代码) ctrl+K,ctrl+S

        * 编辑.封装字段 (通过字段,快速生成属性)  >> 相当于快速生成Java中的 getter/setter

        * 视图.属性窗口 (快速调出属性配置窗口)

        * 视图.工具箱(调出控件列表)

       注释:

        单行注释://注释的内容

        多行注释:/* 注释的内容 */

        文档注释:/// 多用来解释类或者方法

       代码折叠

        #region 折叠内容描述

        #endregion

    08. 其它设置

      a. 行号: 工具》选项》文本编辑器》所有语言》常规

        

      b. 字体: 

        

       c. 主题

        

      d. 配置还原

        工具>导入导出设置:  可以恢复系统配置;

      e. 启动项目的配置

        解决方案上面右键》属性, 按习惯自行配置

        

      f. 项目的卸载及加载

        卸载: 可以将项目暂时脱离解决方案,但同时又不删除文件;

        重新加载:可以重新新项目加载到解决方案并做代码编辑;

    ** 变量的使用

      >> C#中,大小写敏感;

      >> 变量的命名必须以  "字母", "_", "@" 符号开始, 不能以数字开头;

      >> 变量、参数命名: 一般使用 小驼峰命名方式;

        类、方法命名    : 一般使用 大驼峰命名方式; 

      >> 关于占位符的使用

        a. 配置了几个占位符,在后面需要提供几个对应的参数;多填了参数,不会产生影响;少填了参数,将会出现异常;

      >>常用转义字符

        \n: 换行;  

        \b: 删除前一字符;代表着backspace

        \\ : 转义输出一个 \

        \t: 转义输出制表符;

        \" : 转义输出 "

        \r\n: windows平台下的换行

        ** @ 符号的使用:取消后面内容中的 \ 的转义作用,纯粹当作是一个 \

        string path = @"D:\a\b\c\d\e.txt";

        ** @的另一种使用方式: 将字符串按原格式输出;

        

       >> 占位符输出时的格式化 : 0.00, 需要几个小数,在小数点后就配置几个0

        

    ** 波浪线

       红色波浪线:代码中出现了语法错误;

       绿色波浪线:语法无错,提示有可能出现错误 (申明未使用等情况);

    09. 基本数据类型

       C#中的基本数据类型                     Java中的基本数据类型及对应的封装类

         

       C#中的数据转换注意点

        a. 小数类型,默认为double; 

        b. decimal 与 double 之间,互相不能隐匿转换;  (浮点间仅支持 float 向 double 的隐式转换)

        c. decimal表示128位数据类型,同浮点数相比,decimal类型具有更高的精度和更小的范围,这使它适合于财务和货币计算。

         如果要标识一个数据为decimal类型,需要在数据后面配置上 m 或 M;

        d. float 类型,最终会被映射为 framework中的 single;  (小数一般默认为double);

        f. String , string; 这二个最终都会被映射为 String;

        g.数据类型不一致时,通过 Convert 进行数据类型的转换;

          > 将字符型数值转数值型数据:

            double infoa = Convert.ToDouble("123");

            int infob = Convert.ToInt32("123");

          > 数据类型.TryParse (number1=0,这个初始值无效,若转换失败,由  TryParse 返回 0 );

            

              相当于Delphi中的   number1 = StrToIntDef("123",0);

      >> 常量

        const double NPI=3.14;

      >> 枚举

        [public] enum 枚举名

        {

         值1,值2,值3....

        }

        ** 枚举类型与int类型,默认是可以转换的;

          > 转换时,枚举类型从0开始转换,枚举1号内容对应于int类型中的0

          > > 枚举成员中转换为int值时,若枚举成员中有成员配置了值,则从配置的值之后的枚举值,均以配置的值为基数,每往后1位,值+1

            

          

        ** 通过 ToString 方法, 可以将枚举成员值,直接转换成对应的字符;

           通过 Enum.Parse(typeof(枚举类型),"字符");

          

       >>结构

        可以帮助我们一次性声明多个不同类型的变量

        [public] struct 结构名{

          成员; (字段)

        }

        字段: 结构体中的成员,命名方式,一般以 _ 开始,如:   publict string _name;

      >> 数组

        数据类型[] 变量名 = new 数据类型[数组长度];

        int[]  nums = new nums[10]; 

        ** Array.Sort(数组变量);

        ** Array.Reverse(数组变量);  

        

     **方法

     语法:  [public] static 返回值类型 方法名([参数列表]){

          方法体;

          }   

     return:

       a.在方法中返回要返回的值;

       b. 立即结束本次方法;

     调用方法:

      类名.方法名([参数]);

      若类名与main函数在同一个类中,可以省略类名;

    >>关于方法的使用

      1. 编制函数时,功能一定要单一,不要将多个功能集成在一个函数中;

      2. 在编制函数时,不要在函数中有交互类的业务;

    10. 关于方法中,参数修饰符的使用 (这一点需要注意)

      

      >> 关于out的使用

       参数定义时,需要配置out:          public static void Test1(int[] a, out int x, out int y, out int z)  

       参数使用时, 同样需要配置out:  (函数外部可以不赋值,函数内部必须赋值)

          

      >> 关于  ref 的使用 (外部必须赋初始值,函数内可以不处理)

        

      >> 可变参数 params的使用 (params只能是最后一个参数)

        

       >> 方法的重载

          函数名称一样,参数类型不同或者参数个数不一样 时,这些同名函数构成重载;

       

          

    11.再说 面向过程 和 面向对象

      面向过程: 关注的是怎么做的问题;注重过程与步骤,不注重职责分工;对于复杂的项目,没有固定的套路,难度较大;

      面向对象:关注的是由谁来做的问题;对于一个功能的实现,可以由不同的对象,按不同的顺序来完成;是一种更大程度上的封装;

    12. C#中关于类的使用说明

      

      ** 访问修饰符

        

       ** 关于类的创建

        

    13. Array, ArrayList, List 

      Array: 数组,对同一类型数据的一个整体的定义,定义好以后,长度不允许变更;

      ArrayList: 

        大小是按其中存储的数据来动态扩充与收缩的;

        声明ArrayList时,不需要指定长度;

        可以方便的添加,修改,删除内部数据;

        ---- 但是

        存储数据时,使用的是 object类型,所以存在类型不安全的总是,(在添加时,不管什么类型都可以添加进去);

        数据存储存在 装箱,拆箱的操作,性能偏低;

      List: 

        与 ArrayList 一样,继承了相同的接口;所以使用上与ArrayList 相似;

        在声明List时,需要同时声明 List 集合内的对象类型;

    14. 字典 Dictionary;

       Dictionary<keyType, ValueType> dic = new Dictionary<keyType,ValueTye>();

       按Java中的Map理解即可; 

        

     15. foreach

      * 数组操作

        

      * 集合操作

        

      * 字典操作

        

    保留2位小数的三种方式

        

    控制台背景色、前景色的使用

      

  • 相关阅读:
    魏新 20191017-1 每周例行报告
    魏新 20191010-2 每周例行报告
    魏新 20190919-1 每周例行报告
    魏新 20190919-3 效能分析
    总结
    感谢信
    20191024-1 每周例行报告
    20191017-1 每周例行报告
    第三周作业03
    第三周作业1
  • 原文地址:https://www.cnblogs.com/jieling/p/16085977.html
Copyright © 2020-2023  润新知