开启C#学习

介绍

  • 面向对象的语言,而且进一步支持面向组件的编程
  • 垃圾回收:自动回收未使用的对象占用的内存
  • 异常处理:提供一种结构化的可拓展的方法用于错误检测恢复
  • 类型安全设计:不可能从未初始化的变量中进行读取、将数组索引在其边界之外、执行未检查的类型转换
  • 统一类型系统,所有类型继承object
  • 版本控制:当引入新版依赖的时候,用这些语言编写的程序会出现不必要的中断现象,C#控制版本的方面Virtual和override修饰符,方法重载决策的规则以及对显式接口成员声明的支持

程序结构

关键组织结构概念包含程序命名空间类型成员程序集。C#程序一个或者多个源文件组成。程序声明类型,类型包含成员,并整理到命名空间。类型示例包含类型和接口。成员示例包含字段、方法、属性和事件。程序集通常具有文件拓展名.exe或者.dll具体取决它们是否实现应用程序或者库,不含Main入口的代码一般会被编译.exe文件

类型和变量

类型:

  • 值类型:值类型的变量直接包含数据
    • 简单类型
    • 枚举类型
    • 结构类型
    • 可以为null的类型
  • 引用类型:包含对数据的引用,两个对象可以引用同一个对象
    • 类类型
    • 接口类型
    • 数组类型
    • 委托类型
类型说明
值类型简单类型有符号的整数:sbyte、short、int、long
无符号类型:byte、ushort、uint、ulong
UniCode字符:char
IEEE浮点:float、double
高精度小数:decimal
布尔:bool
枚举类型格式 enum E{…}的用户定义类型
结构类型格式 stuct S{…}的用户定义类型
可以为null的类型值为null的其他所有值类型的拓展
引用类型类类型其他所有类型的最终基类:object
uniCode字符串:string
格式为 class C{…}的用户定义类型
接口类型格式为 interface I {…}的用户定义类型
数组类型一维数组和二维数组
委托类型格式为的用户定义的类型,例如delegate int D(…)
C#创建新类型

C#程序使用类型声明创建新的类型,类型声明指定新的类型名称和成员。

五种类别

  • 类类型:包含数据成员(字段)和函数成员(方法、属性)的数据结构,类类型支持单一的继承和多形形,即派生类可以拓展和专门针对基类的机制
  • 结构类型:类似与类类型,表示包含数据成员和函数成员的结构,但是与类不同结构是值类型,不需要进行堆分配。结构类型不支持用户指定的继承,并且所有结构类都隐式继承object
  • 接口类型:将协定定义为公告函数成员的命名集,实现接口的类或者结构必须提供接口的函数成员的实现,接口可以从多个基接口继承,类或者结构可以实现多个接口
  • 枚举类型
  • 委托类型:具有已命名常数的不同类型,每个枚举类型都有一个基础的类型,改类型必须是八个整数类型之一。枚举类型的值集与基础类型的值集相同

C#支持数组,int【】代表一维数组,int【,】代表二位数组

可以为bull的类型无需声明即可使用,对于每个不可以为null T 的值类型,都有T?一个对应的可以为 null 的null类型,该类型可以保存附加值。 例如, int?是一个可以容纳任何32位整数或值null的类型。

类型系统是统一的,值类型的值通过执行装箱和取消装箱操作被视为对象,

using System;

class Test
{
    static void Main() {
        int i = 123;
        object o = i;          // Boxing
        int j = (int)o;        // Unboxing
    }
}

当值类型的值转换为类型object时,将分配的一个对象实例(也称为Box)来保存值,并将改值赋值到该对象,相反,将object引用强制转换为值类型,会检测所引用的对象是否为正确的值类型的对象,检测成功,则将对象中的值赋值出来

类和对象

类时最基本的C#类型,类时一种数据结构,可以将一个对象的状态(字段)和操作(方法和其他函数成员结合起来)类为动态创建的类示例提供定义,类支持继承和多形性,即派生类可以拓展和专门针对基类的机制

成员

类的成员为静态成员或者示例成员,静态成员属于类,实例成员属于对象(类的实例)

成员说明
常量与类相关联的常量值
字段类的常量
方法类可以执行的计算和操作
属性与将和写入类的已命名属性相关的操作
索引器将与读取类实例编入索引(像处理数组一样)像关联的操作
事件类可以生成的通知
运算符类支持的转换和表达式的运算符
构造函数初始化类实例或者类本身所需的操作
类型类声明的嵌套类型
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值