C#编程进阶-颗粒归仓

基础加强

     学习了这门语言这么一段时间了,距离接触核心的知识还比较遥远;无论怎样都需要把基础打好,这样的话,以后才会学以致用或者理解他人写的优秀代码;

-----------------------------------------------------------------------------------------

要点一、

     (1)之前在咱们的学习过程中是不是经常定义变量,在整个程序运行的过程中都可以无限次赋值,除此外还可以定义常量,一尘不变的量;

     (2)除此外还有枚举和结构的声明(采用pascal命名规范):枚举限定了变量的取值范围,程序处理起来更为方便,关键字(enum);至于结构(struct)呢:为了一次声明多个不同类型的变量;

     (3)当然还有数组,为的是连续保存多个数值:四种声明方式

             (1)int[] nums=new int[1]{1,2};   (2)int[] nums=new int[]{1,2};

             (3)int[] nums={1,2};                   (4)int[] nums=new int[1]};

      有些时候通过数组存放变量会变得不灵活,不确定存放长度;这个时候Params派上用场了,通过在方法中参数前面添加Params关键字,即可实现多类型的定义数组--Params object[] 变量英文名。

		test2("zzhasan",1,2,3);     //	可以把函数外的多个数当做数组来用
		static void test2(string name, params int[] score){};

要点二、

      (1)try-catch的目的:解决一些可能会发生异常的程序,用于一些提示信息等等;

      (2)方法(函数)(Pascal命名规则):方便代码重用;包括传参数和返回值两个部分。

              注意:两种方法中的变量不可以混合使用(指从A中未经定义直接使用B中变量)

        1、ref参数
	    //ref参数侧重于将一个值带到函数中进行改变,再讲改变后的值返回。
	    //ref参数在函数内不用赋值;函数外必须为ref参数赋值。
	    //常用于将值类型转变为引用类型后进行赋值运算

        2、out参数
	    //侧重于在函数中返回多个类型的值。
	    //必须在形参括号中进行声明与定义;并且在函数中进行赋值。
	    //主函数中不用赋值。

要点三、

     了解以上知识便开始接触面向对象的知识了,这也是目前采用的灵活的编程方法。

     (1)对象是一个可以看得到、摸得着的具体实体,而非统称;统称一般称作类;

              区别:对象称作类的示例(instance);类不占用内存,对象反之。

     (2)类的实例化:类 实例名=new 类()

             ----->类的成员(字段(private最好)、属性、方法);

             ------>定义访问级别:public、private(internal、protected)默认不定义的成员当做private私有访问级别。


     (3)属性:

                     定义:get(读)和set(写),延伸-读写、只读、只写;

                     目的:保护与之对应的字段;

    (4)构造函数:

                           目的:解决多类重复赋值、剔除写操作,防止不安全;

                           特点:无返回值,非静态,但是有参数(默认状态下参数)

                           扩展:构造函数可以重载,使之构成不同的构造函数。

                           补充:实例化静态类的时候,默认调用的类的构造函数

----------------------------------------------------------------------------------------------->

要点四(字符串的重要特性)、

String类:

  • 不可变性,我们不管对字符串做什么操作,都会在内存中产生一块新的实例。
  • 驻留池:字符串为引用类型,在堆里面开辟空间的时候,先检查是否存在一个赋值的字符串。
  • GC(Garbage Collection)垃圾回收池:每隔一段时间,会扫描整个内存,如果有的空间没有被指向。则立即把它销毁。
  • 我们可以将一个字符串看作是char类型的只读数组。若想改变字符串,先转变为数组,然后变为字符串。 
StringBuilder:

     出现缘由:因为多次使用字符串后,会在内存中产生大量的垃圾,因此stringBuilder产生;

    它就是拼接字符串的一个工具,拼成完成后,还是需要将它转回字符串。

	stringBulider sb=new stringbuilder();
	sb.append(); //追加字符串
        sb.tostring(); //此时转换为将stringbuilder中的值转换为字符串,重写了其中的tostring的方法;之前tostring会输出变量的命名空间
	sb.insert(); //按照字符的个数来添加
        sb.replace();
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 38
    评论
评论 38
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值