• C# 多线程

    2014-12-16
    线程 被定义为程序的执行路径。每个线程都定义了一个独特的控制流。如果您的应用程序涉及到复杂的和耗时的操作,那么设置不同的线程执行路径往往是有益的,每个线程执行特定的...
  • C# 不安全代码

    2014-12-16
    当一个代码块使用 unsafe 修饰符标记时,C# 允许在函数中使用指针变量。 不安全代码 或非托管代码是指使用了 指针 变量的代码块。 指针变量 指针 是值为另一个变量的地址的变量,即...
  • C# 匿名方法

    2014-12-16
    我们已经提到过,委托是用于引用与其具有相同标签的方法。换句话说,您可以使用委托对象调用可由委托引用的方法。 匿名方法(Anonymous methods) 提供了一种传递代码块作为委托参数...
  • C# 泛型(Generic)

    2014-12-16
    泛型(Generic) 允许您延迟编写类或方法中的编程元素的数据类型的规范,直到实际在程序中使用它的时候。换句话说,泛型允许您编写一个可以与任何数据类型一起工作的类或方法。...
  • C# 集合(Collection)

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

    2014-12-15
    BitArray 类管理一个紧凑型的位值数组,它使用布尔值来表示,其中 true 表示位是开启的(1),false 表示位是关闭的(0)。 当您需要存储位,但是事先不知道位数时,则使用点阵列。您...
  • C# 队列(Queue)

    2014-12-15
    队列(Queue)代表了一个 先进先出 的对象集合。当您需要对各项进行先进先出的访问时,则使用队列。当您在列表中添加一项,称为 入队 ,当您从列表中移除一项时,称为 出队 。...
  • C# 堆栈(Stack)

    2014-12-15
    堆栈(Stack)代表了一个 后进先出 的对象集合。当您需要对各项进行后进先出的访问时,则使用堆栈。当您在列表中添加一项,称为 推入 元素,当您从列表中移除一项时,称为 弹出...
  • C# 排序列表(SortedList)

    2014-12-15
    SortedList 类代表了一系列按照键来排序的 键/值 对,这些键值对可以通过键和索引来访问。 排序列表是数组和哈希表的组合。它包含一个可使用键或索引访问各项的列表。如果您使用索...
  • C# 哈希表(Hashtable)

    2014-12-15
    Hashtable 类代表了一系列基于键的哈希代码组织起来的 键/值 对。它使用 键 来访问集合中的元素。 当您使用 键 访问元素时,则使用哈希表,而且您可以识别一个有用的键值。哈希表中...
  • C# 动态数组(ArrayList)

    2014-12-15
    动态数组(ArrayList)代表了可被单独索引的对象的有序集合。它基本上可以替代一个数组。但是,与数组不同的是,您可以使用 索引 在指定的位置添加和移除项目,动态数组会自动重...
  • C# 事件(Event)

    2014-12-14
    事件(Event) 基本上说是一个用户操作,如按键、点击、鼠标移动等等,或者是一些出现,如系统生成的通知。应用程序需要在事件发生时响应事件。例如,中断。事件是用于进程间通...
  • C# 委托(Delegate)

    2014-12-14
    C# 中的委托(Delegate)类似于 C 或 C++ 中函数的指针。 委托(Delegate) 是存有对某个方法的引用的一种引用类型变量。引用可在运行时被改变。 委托(Delegate)特别用于实现事件和回调...
  • C# 索引器(Indexer)

    2014-12-14
    索引器(Indexer) 允许一个对象可以像数组一样被索引。当您为类定义一个索引器时,该类的行为就会像一个 虚拟数组(virtual array) 一样。您可以使用数组访问运算符([ ])来访问该...
  • C# 属性(Property)

    2014-12-14
    属性(Property) 是类(class)、结构(structure)和接口(interface)的命名(named)成员。类或结构中的成员变量或方法称为 域(Field) 。属性(Property)是域(Field)的扩展,且可使用相...
  • C# 反射(Reflection)

    2014-12-14
    反射(Reflection) 对象用于在运行时获取类型信息。该类位于 System.Reflection 命名空间中,可访问一个正在运行的程序的元数据。 System.Reflection 命名空间包含了允许您获取有关应用程序信...
  • C# 特性(Attribute)

    2014-12-14
    特性(Attribute) 是用于在运行时传递程序中各种元素(比如类、方法、结构、枚举、组件等)的行为信息的声明性标签。您可以通过使用特性向程序添加声明性信息。一个声明性标签是...
  • C# 文件的输入与输出

    2014-12-13
    一个 文件 是一个存储在磁盘中带有指定名称和目录路径的数据集合。当打开文件进行读写时,它变成一个 流 。 从根本上说,流是通过通信路径传递的字节序列。有两个主要的流: 输...
  • C# 异常处理

    2014-12-13
    异常是在程序执行期间出现的问题。C# 中的异常是对程序运行时出现的特殊情况的一种响应,比如尝试除以零。 异常提供了一种把程序控制权从某个部分转移到另一个部分的方式。C#...
  • C# 正则表达式

    2014-12-13
    正则表达式 是一种匹配输入文本的模式。.Net 框架提供了允许这种匹配的正则表达式引擎。模式由一个或多个字符、运算符和结构组成。 定义正则表达式 下面列出了用于定义正则表达...
  • C# 预处理器指令

    2014-12-13
    预处理器指令指导编译器在实际编译开始之前对信息进行预处理。 所有的预处理器指令都是以 # 开始。且在一行上,只有空白字符可以出现在预处理器指令之前。预处理器指令不是语句...
  • C# 命名空间(Namespace)

    2014-12-13
    命名空间 的设计目的是为了提供一种让一组名称与其他名称分隔开的方式。在一个命名空间中声明的类的名称与另一个命名空间中声明的相同的类的名称不冲突。 定义命名空间 命名空...
  • C# 接口(Interface)

    2014-12-13
    接口定义了所有类继承接口时应遵循的语法合同。接口定义了语法合同 是什么 部分,派生类定义了语法合同 怎么做 部分。 接口定义了属性、方法和事件,这些都是接口的成员。接口...
  • C# 运算符重载

    2014-12-12
    您可以重定义或重载 C# 中内置的运算符。因此,程序员也可以使用用户自定义类型的运算符。重载运算符是具有特殊名称的函数,是通过关键字 operator 后跟运算符的符号来定义的。与...
  • C# 多态性

    2014-12-12
    多态性 意味着有多重形式。在面向对象编程范式中,多态性往往表现为一个接口,多个功能。 多态性可以是静态的或动态的。在 静态多态性 中,函数的响应是在编译时发生的。在 动...