C#基础(二)

运算符

  1. 根据运算符所需操作个数分为三类: 一元、二元、三元
  2. 根据执行的操作类型:
    (1)算术运算符:+ - * / %
    (2)比较运算符:> < = != >= <=
    (3)条件运算符:表达式 ? atrue : bfalse
    (4)赋值运算符:= += -= *=
    (5)逻辑运算符:&& & ^ ! ||
    (6)特殊运算符

装箱与拆箱

  1. 值类型转换为引用类型就叫做装箱
    三步:
    int val = 100;
    Object obj; //从托管堆中对新生成的引用对象分配内存
    obj = val; //将值类型的数据复制到刚刚分配的内心中
    val = 456;
    Console.WriteLine(“值类型:{0},引用类型:{1}”,val,obj); //返回托管中新分配对象的地址
    值类型:456 引用类型:100
  2. 拆箱与上步骤相反:
    (1)首先获取托管堆中属于值类型那部分字段的地址(装箱值),这一步是严格意义上的拆箱
    (2)然后将引用对象中的值复制到位于线程堆栈上的值类型实例中

    int i = 100;
    Object obj = i; //隐式装箱
    int j = (int)obj //拆箱

数组

声明数组的三种方式:

  1. int[] a = new type[num]{value1,value2};
  2. int[] a = new type[]{value1,value2};
  3. int[] a = {value1,value2};

二维数组: type[,] arrayName; 与java不同
交错数组:type[][]
.NET提供了两种数组:静态数组(数组的维度和大小是不能改变的)(System.Array类实现)、动态数组
Array类中有常用的属性和方法
复制数组常用4中方法:for语句、Copy语句、CopyTo方法以及Clone()方法
int number[]; //不能将中括号放在数组名后面
number = {1,2,3}; //{1,2,3}只能做数组的初始化,不能再给已有的数组进行赋值操作

集合

集合的概述:用来存储和管理一组特定类型的数据对象,除了基本的数据处理功能,还直接提供了各种数据结构及算法的实现,如队列、哈希表、排序等
在c#中所有集合都实现了ICollection接口,而Icollection接口继承子Ienumerable接口,所以每个内置的集合也都实现了Ienumerable接口,因此
可以使用GetEnumerator()方法返回一个枚举数,遍历集合中的内容。
C#的6种内置集合

  1. ArrayList集合也叫动态数组
  2. HashTable集合:是一种键/值对集合,它的数据是通过键和值来组织的,还可以称之为散列表或哈希表,其中HashTable集合中的元素不能
    通过索引访问,所以不能通过for语句进行遍历
  3. Stack集合
  4. Queue集合
  5. BitArray集合
  6. SortedList集合
    自定义集合:两种方式
  7. 手动执行需要的方法,比较消耗时间,而且复杂
  8. 从一个类中派生出集合,.NET Framework提供了一个名为CollectionBase的基类,

类中有:字段、属性、方法,构造方法
类中的成员变量也可以被称为字段。
属性:字段的延伸,属性有两个核心的代码块,分别时get访问器和set访问器
访问修饰符

  1. public internal:能在本项目中访问该对象字段
  2. private protect:能在子类或基类中访问
  3. static、 read only:只读不能写
  4. const与read only相似,const所定义的字段在编译时形成,read only所定义的字段在程序运行时形成
    (静态方法只属于本类)静态方法:静态成员不能访问非静态成员,但是相反可以
    构方法:与构造方法相反,当对象脱离其作用域时(例如对象所在的方法已调用完毕),系统自动执行析构方法。析构方法往往用来做清理垃圾碎片的工作(例如在建立对象时用new开辟了一片内存空间,应在退出前在析构方法中将其释放)

抽象类

  1. 声明格式: abstract class 类名{类成员}
  2. 只能做父类
  3. 不能实例化
  4. 抽象类中除了抽象方法与普通方法不一样以外,其他的部分和普通类一样,即抽象类时普通类的特例。特殊之处只是有抽象方法
    抽象方法
  5. 抽象方法是没有方法内容的,只有一个方法名和参数列表。
  6. 在方法的返回类型前加abstract
  7. 抽象方法的内容由它的继承类根据继承类自身情况去写,重写的时候把abstract替换成override
    如果在普通类中定义了一个抽象方法,那么该类也是抽象类
    所以抽象类不一定包含抽象方法,但含有抽象方法的一定是抽象类

继承

(子类不能继承:构造、析构、静态方法和在基类中定义的拒绝访问的成员)
定义虚方法:加上virtual关键字,这样任何派生类都可以重写虚方法,虚属性也是一样
基类中使用virtual表示派生类要继承基类,派生类可以在基类的基础上添加新功能
在派生类中使用override的作用是完全覆盖了基类,在派生类中重新定义执行的过程
隐藏方法:指子类可以使用new关键字,创建一个与基类相同的方法,这样,此方法会独立与基类的方法
调用基类使用base关键字,可以在派生类的任何地方使用base语法调用基类中的任何方法
继承抽象类:子类如果要重写基类的抽象方法,将abstract改为override,并且要重写基类所有的抽象方法,否则会出错

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
资源包主要包含以下内容: ASP项目源码:每个资源包中都包含完整的ASP项目源码,这些源码采用了经典的ASP技术开发,结构清晰、注释详细,帮助用户轻松理解整个项目的逻辑和实现方式。通过这些源码,用户可以学习到ASP的基本语法、服务器端脚本编写方法、数据库操作、用户权限管理等关键技术。 数据库设计文件:为了方便用户更好地理解系统的后台逻辑,每个项目中都附带了完整的数据库设计文件。这些文件通常包括数据库结构图、数据表设计文档,以及示例数据SQL脚本。用户可以通过这些文件快速搭建项目所需的数据库环境,并了解各个数据表之间的关系和作用。 详细的开发文档:每个资源包都附有详细的开发文档,文档内容包括项目背景介绍、功能模块说明、系统流程图、用户界面设计以及关键代码解析等。这些文档为用户提供了深入的学习材料,使得即便是从零开始的开发者也能逐步掌握项目开发的全过程。 项目演示与使用指南:为帮助用户更好地理解和使用这些ASP项目,每个资源包中都包含项目的演示文件和使用指南。演示文件通常以视频或图文形式展示项目的主要功能和操作流程,使用指南则详细说明了如何配置开发环境、部署项目以及常见问题的解决方法。 毕业设计参考:对于正在准备毕业设计的学生来说,这些资源包是绝佳的参考材料。每个项目不仅功能完善、结构清晰,还符合常见的毕业设计要求和标准。通过这些项目,学生可以学习到如何从零开始构建一个完整的Web系统,并积累丰富的项目经验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值