c#总结

  1. C#是一个简单的、现代的、通用的、面向对象的编程语言,他是由微软开发的。(简介)

  2. C#是由Anders Hejlsberg和他的团队在.net框架开发期间开发的。(简介)

  3. C#.net框架的一部分,而.net框架是一个多平台的应用程序,是由一个巨大的代码库组成的。C#是一种开发语言。c#的集成开发环境最常见的则是 Visual Studio开发工具。(则可以叫做是C#.Net框架的区别《环境》)

  4. C#是大小写敏感的语言;所有的语句和表达式必须以(;)结尾;程序的执行是从Main方法开始的;文件名可以不同于类的名称。

  5. 占位符:例子---Console.WriteLine(Size Of int{0}SizeOf(int));

  6. C# 中,变量分为:值类型(intcharfloat.......),引用类型(不包含存储在变量中的实际数据,但它包含对变量的引用,即指的是内存位置),指针类型(存储另一中类型的内存地址)。

  7. 引用类型的分类

    对象类型(Object):是所有数据的终极基类;

         当一个值类型转换为对象类型时,被称为装箱,则当一个对象类型转化为值类型时,则被称为拆箱。

    动态类型(Dynamic:可以存储任何类型的值在动态数据类型变量中,这些变量的类型检查是在运行时发生的。

    字符串类型:允许给变量分配任何字符串的值。

  8. 类型转换

    隐式转换:以默认的方式进行转换,不会丢失数据

    显示转换:即强制类型转换------类型之间的转换: ConvertParse

  9.  C#变量:

  10. 1Convert.Toint32(null)会返回0而不产生任何异常,但int.parsenull)则会抛出异常。

       2Convert.Toint32(Double value) 对数据进行四舍五入。

  11.  c#中的运算符

    算术运算符、关系运算符、逻辑运算符、位运算符、赋值运算符和其他运算符。

  12. C#的判断语句   if......else....

  13.                    Switch 

  14.  C#循环 while循环 ..............当给定的条件为真时,重复语句,他会在循环主体之前检测条件     For/foreach..................多次执行一个语句序列    Do.....while..................他会在循环主体结束后检测条件除此之外还有一个叫做嵌套循环即可以同时使用以上几个内套循环。

  15. C#的封装:封装是为了实现防止对实现细节的访问,抽象和封装是面向对象的程序的设计的相关特性,通过访问修饰符和方法来实现。访问修饰符有:   Public :所有对象都可以访问。Private;对象本身在对象内部可以访问。Protected:只有该类对象及其子类对象可以访问。Internal:同一程序集的对象可以访问。Protected internal:访问限于当前程序集或派生类自包含类的类型。

  16. C#中可空类型nullable :可空类型可以表示其基础类型值正常范围内的值,在加上一个null值。 <date_type>? <variable name>=null;

  17. 合并运算符??......对于两个值来说,如果第一个操作数的值为null,则运算符返回第二个操作数的值,否则返回第一个操作数的值。

  1. C#数组:概念:是一个存储相同类型元素的固定大小的顺序集合。

    17结构体Struct是值类型的数据结构,它使得一个单一变量可以存储各种数据类型的相关数据,struct关键字用于创建结构体。

  1. 结构体与类的比较:

               类是引用类型,结构体是值类型。

                结构不支持继承。

                结构不能声明默认的构造函数。

    18  c#枚举;枚举是一组命名整型常量,使用enum关键字定义,枚举列表中的每个符号代表一个整数值,一个比他前面的符号大的值,默认情况下,第一个枚举号值 0,但是也可以自定义枚举的值。

  1. 类:类的默认访问标识符是internal,成员的默认访问标识符是private

    1.方法(函数)和变量成为类的成员,对象是类的实例。

    2 类的成员函数是一个类定义中有他的定义或原型的函数。成员变量是对象的属性,且他们保持私有来实现封装 (函数的一个作用 就是封装)。

    3c#中默认的构造函数与类名一致,没有任何返回类型和参数。如果需要有参数时,自己创建一个带有参数的的构造函数,这种叫参数化构造函数,这种技术可以帮助你在创建对象的同时给对象赋值初始值。

  1. 析构函数,当类的对象超出范围时执行。析构函数的名称是在类的名称前面加一个波浪形(~)作为前缀,它不返回值,也不带任何参数。析构函数用于在结束程序(比如关闭文件,释放内存)之前释放资源,不能继承和重载。

  2. 静态成员:static关键字,用于定义常量。

  1. C#继承:是面向对象程序中最重要的概念之一,c#不支持多重继承,但是可以利用接口实现。继承使用(:

  2. C#多态:一个接口,多个功能。

       分为:静态多态性,函数是在编译时发生的,实现静态多态性的方法是:函数重载,和运算符重载。

             动态多态性,使用abstract创建抽象类和虚方法实现,用于提供接口部分类的实现,当一个定义类中的函数需要在继承类中实现时。可以使用虚方法,使用关键字virtual声明。

    22 c#接口:class InterfaceImplementer : IMyInterface ,如果一个接口继承了其他接口,那么实现类或结构就需要实现所有接口的成员。

    22 c#的命名空间: using指令:引入命名空间;命名空间的定义是以关键字 namespace 开始,后跟命名空间的名称,

    23 c#的预处理器:预处理器指令指导编译器在实际编译开始之前对信息进行预处理。所有的预处理器指令都是以 # 开始。且在一行上,只有空白字符可以出现在预处理器指令之前。预处理器指令不是语句,所以它们不以分号(;)结束。

  1. #define #define 预处理器指令创建符号常量。#define 允许您定义一个符号,这样,通过使用符号作为传递给 #if 指令的表达式,表达式将返回 true

    24 c#的特性:Attribute:是用于在运行程序中传递程序中的各种元素的行为信息的声明性标签。一个声明性标签是通过放置在它所应用的元素前面的方括号([ ])来描述的。

    25 c#的发射:Reflection:反射指程序可以访问、检测和修改它本身状态或行为的一种能力。程序集包含模块,而模块包含类型,类型又包含成员。反射则提供了封装程序集、模块和类型的对象。您可以使用反射动态地创建类型的实例,将类型绑定到现有对象,或从现有对象中获取类型。然后,可以调用类型的方法或访问其字段和属性。

    26属性(Property) 是类(class)、结构(structure)和接口(interface)的命名(named)成员。类或结构中的成员变量或方法称为 域(Field)。属性(Property)是域(Field)的扩展,且可使用相同的语法来访问。它们使用 访问器(accessors) 让私有域的值可被读写或操作。属性(Property)不会确定存储位置。相反,它们具有可读写或计算它们值的 访问器(accessors)。例如,有一个名为 Student 的类,带有 agename code 的私有域。我们不能在类的范围以外直接访问这些域,但是我们可以拥有访问这些私有域的属性。

  1. c#中的委托:delegate:是存有对某个方法的引用的一种引用类型变量.特别用于实现事件和回调方法,所有的委托都派生自System.delegate类。

  2. 事件event

    通过事件使用委托。事件在类中声明且生成,且通过使用同一个类或其他类中的委托与事件处理程序关联。包含事件的类用于发布事件。这被称为 发布器(publisher) 类。其他接受该事件的类被称为 订阅器(subscriber) 类。事件使用 发布-订阅(publisher-subscriber) 模型。

    29 集合(Collection)类是专门用于数据存储和检索的类。这些类提供了对栈(stack)、队列(queue)、列表(list)和哈希表(hash table)的支持。大多数集合类实现了相同的接口

    30泛型(Generic) 允许您延迟编写类或方法中的编程元素的数据类型的规范,直到实际在程序中使用它的时候。换句话说,泛型允许您编写一个可以与任何数据类型一起工作的类或方法。您可以通过数据类型的替代参数编写类或方法的规范。当编译器遇到类的构造函数或方法的函数调用时,它会生成代码来处理指定的数据类型

    31匿名方法(Anonymous methods) 提供了一种传递代码块作为委托参数的技术。匿名方法是没有名称只有主体的方法。匿名方法是通过使用 delegate 关键字创建委托实例来声明的

    32当一个代码块使用 unsafe 修饰符标记时,C# 允许在函数中使用指针变量。不安全代码或非托管代码是指使用了指针变量的代码块。指针变量:type *var-name;

    33 线程 被定义为程序的执行路径。每个线程都定义了一个独特的控制流。如果您的应用程序涉及到复杂的和耗时的操作,那么设置不同的线程执行路径往往是有益的,每个线程执行特定的工作

     

     

     

     

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值