C#常用基础总结

目录

常用转义符

常用语句

运算符

注释

构造函数

枚举

异常处理

方法


  • 常用转义符

    显示符号,需要添加\+特殊字符,显示出来  \为转义符(在要显示的每个符号前都加上\)

 

    \+特殊字符,就可以在运行时显示这个特殊字符

 

    \n 表示换行

 

    \b 表示退格

 

    \\  表示一个\

 

    \t 表示水平制表符,让后面的字符尽量与上一个字符对齐

 

    \" 表示一个双引号

 

算术运算符 + -*  /  %(取余 取模)

 

变量需要先声明,再赋值,才能使用

  • 常用语句

              循环语句

while循环

do……while循环

for循环

调用方法判断是否输入指定字符,不正确重新输入

        public static string IsYourN(string YourN)          //限制用户只能输入 y 或 n

        {

            while(true)

            {

                if(YourN=="y"||YourN=="n")

                {

                    return YourN;

                }

                else

                {

                    Console.WriteLine("输入错误,请重新输入!");       //  此语句放到这,代码不可重复使用

                    YourN = Console.ReadLine();

                }

            }

        }

                    判断输入是否是数字,输入错误,重新输入

        public static int IsName(string strName)        //用户输入数字,输入错误,请重新输入的方法

        {    

            while(true)

            {

                try

                {

                    int number = int.Parse(strName);

                    return number;

                }

                catch

                {

                    Console.WriteLine("输入错误,重新输入");

                    strName = Console.ReadLine();

                }

            }

       }    

 

 

              判断语句

if…else语句与if…else if 语句

Switch  case 语句

 

              数组的声明与使用

           什么是数组?

           数组的特点有什么?

           C#中数组的声明方式有哪些?

 

 

 

  • 运算符

复合运算符:+=、 -=、*= 、/= 、%=

关系运算符:<、>、==、!=、<=、>=

逻辑运算符:&&(逻辑与)、||(逻辑或)、!(逻辑非)

        算术运算符 + -*  /  %(取余 取模)

 

  • 注释

    单行注释://

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

    文档注释:///                     (在类或方法上一行写注释符号)

    折叠代码:#region和#endregion(折叠冗余代码)   

    快捷键:重排代码:CTRL+K+ D(代码没有错误才可以重排)

 

  • 构造函数

              构造函数是用来创建对象的特殊方法,方法名和类一样,没有返回值,连void              都不用。

              构造函数可以有参数,new对象的时候传递函数参数即可。

              如果不指定构造函数,则类有一个默认的无参构造函数。

              如果指定了构造函数则不再有默认的无参构造函数,如果需要无参构造函数,              则需自己来写。

              构造函数可以重载,也就是有多个参数不同的构造函数

析构函数

       析构函数:程序执行完之后调用。

    不能在结构中定义析构函数,只能对类使用析构函数

    一个类只能有一个析构函数

    无法继承或重载析构函数

    无法调用析构函数,它们是被自动调用的

    析构函数既没有修饰符,也没有参数。

   

  • 枚举

  1. 什么是枚举?

枚举是一个被命名的整型常数的集合,枚举在日常生活中很常见,例如表示星期的SUNDAY、MONDAY、TUESDAY、WEDNESDAY、THURSDAY、FRIDAY、SATURDAY就是一个枚举。       

              2、枚举类型变量赋值与使用

              枚举值是常量,不是变量。不能在程序中用赋值语句再对它赋值

              枚举元素本身由系统定义了一个表示序号的数值,从0 开始顺序定义为0,1,2…。

              只能把枚举值赋予枚举变量,不能把元素的数值直接赋予枚举变量。

C#中的枚举

枚举类型是一种值类型,它用于声明一组命名的常数。

(1)枚举的声明:枚举声明用于声明新的枚举类型。

访问修辞符 enum 枚举名:基础类型

{

枚举成员

}

 

 

 

  • 异常处理

1、什么是异常?

异常是在程序执行期间出现的问题。C# 中的异常是对程序运行时出现的特殊情况的一种响应。

  1. C#处理异常的四个关键词(trycatchfinallythrow

-Try:一个try块标识了一个将被激活的特定的异常的代码块,后跟一个或多个catch块。

-catch:程序通过异常处理程序捕捉异常。Catch关键字标识异常的捕获

-finally:finally块用于执行给定的语句,不管异常是否被抛出都会执行

-throw:当问题出现时,程序抛出一个异常,使用throw关键字来完成

 

 

  • 方法

静态方法和实例方法的区别

  1. 在外部调用静态方法时,可以使用“类名.方法名”的方式,也可以使用“对象名.方法名”的方式,而实例方法只有“对象名.方法名”的方式。即调用静态方法无需创建对象。
  2. 静态方法在访问本类成员时,只允许访问静态成员(即静态成员变量和静态方法),而不允许访问实例成员变量和实例方法。实例方法则无此限制。

 

  • 面向对象

面向对象和面向过程的区别

面向对象:是把构成问题实物分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为

面向过程:是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用。

       面向对象三个基本特征

  1. 封装:隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读取和修改的访问级别。
  2. 继承:继承可以使得子类具有父类的属性和方法或者重新定义、追加属性和方法等。
  3. 多态:同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果。在运行时,可以通过指向基类的指针,来调用实现派生类中的方法。

 

  • 里氏转换

       里氏转换原则(Liskov Substitution Principle LSP)面向对象设计的基本原则之一。

里氏转换原则,任何基类可以出现的地方,子类一定可以出现。LSP是继承复用的基石,只有当衍生类可以替换掉基类,软件单位的功能不受到影响时,基类才能真正被复用,而衍生类也能在基类的基础上增加新的行为。

       即,1、子类可以赋值给父类。
              2、如果这个父类中装的是子类对象,可以把这个父类强转为子类。

 

  • 集合

       通过构造函数可以添加一个数组

       通过add()方法可以添加数组,但是算成一个元素

       通过addrenge()可以添加数组,

 

       如何向集合中插入数据?

       集合的常用方法

       集合和数组的区别

       使用集合需要引用命名空间:using System.Collections;

 

  • 哈希表

              哈希表: 以键值对的形式存志,key代表键,value代表值,两者成对存在(键不能                     相同)。

              如:   

                              #region  哈希表

            Hashtable ht = new Hashtable();

            //哈希表,以键值对的形式存值,key代表键,value代表值,两者成对存在---键不能相同

            ht.Add("dage", "001");

            ht.Add("erge", 22);

            ht.Add("sange", 1003);

            ht.Add(new person("sige", 'G', 18), 105);


            //显示

            Console.WriteLine("{0}-----{1}", "dage", ht["dage"]);

            //遍历哈希表

            foreach (object item in ht.Keys )

            {

                Console.WriteLine("{0},------{1}",item,ht[item]);

            }

            Console.WriteLine(ht["erge"]);

            Console.ReadKey();

            #endregion


  • File文件

创建文件、删除文件、判断文件是否存在、移动文件路径

如:   

 

         #region  File类  创建一个文件,删除一个文件,判断文件是否存在

            string path = @"C:\IT\CS学习\C#练习\3-压缩包\book1.txt";//给出路径

            File.Create(path);//在制定路径下创建一个文件,如果文件名相同则覆盖原文件

            File.CreateText(path); //创建打开用于写入UTF-8编码文本的文件

            File.Delete(path);//删除指定路径下的文件,直接删除,不放到回收站,如果没有文件,则不报异常


            bool flag = File.Exists(path);//判断指定路径下是否有该文件,如果有则删除,如果没有则创建该文件

            if (flag)

            {

                File.Delete(path);

            }

            else

            {

                File.Create(path);

            }

            //移动文件的路径

            string path1 = @"C:\IT\CS学习\C#练习\3-压缩包\里氏转换\移动.txt";

            File.Move(path, path1);     //将第一个路径下的文件移动到第二个路径下(可以修改文件名字),当第二个路径存在该文件时,报异常

            File.Copy(path, path1);     //将一个文件复制到另一个路径中

            File.Copy(path, path1, true);    //如果要复制的另一个路径存在同名的文件,则覆盖原文件,利用本方法的重载。

       #endregion

       以及读、写文件;创建、删除文件夹;获取文件创建时间、访问时间、修改时间等。

 

  • 虚方法

  1. 虚方法可以有实现体,若一个实例方法的声明中含有virtual修饰符,则称该方法为虚方法。使用virtual修饰符后,不允许再有static、abstract、override修饰符。
  2. 抽象方法和虚方法的区别
  • 虚方法必须有实现部分,抽象方法没有提供实现部分,抽象方法是一种强制派生类覆盖的方法,否则派生类将不能被实例化。
  • 抽象方法只能再抽象类中声明,虚方法不是,如果类包含抽象方法,那么该类也是抽象的,也必须 声明类是抽象的。
  • 抽象方法必须再派生类中重写,这一点和接口类似,虚方法不需要在派生类中重写。

 

  • 重写、重载

重写:在C#中,子类可继承父类中的方法,而不需要重新编写相同的方法。但有时子类并不想原封不动地继承父类的方法,而是想作一定的修改,这就需要采用方法的重写。方法重写又称方法覆盖

重载:重载,简单说,就是函数或者方法有相同的名称,但是参数列表不相同的情形,这样的同名不同参数的函数或者方法之间,互相称之为重载函数或者方法

 

 

 

 

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 21
    评论
评论 21
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值