自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 收藏
  • 关注

转载 C#图解教程 第二十五章 其他主题

其他主题概述在本章中,我会介绍使用C#时的一些重要而又不适合放到其他章节的主题,包括字符串操作、可空类型、Main方法、文档注释以及嵌套类型。字符串对于内部计算来说0和1很适合,但是对于人类可读的输入和输出,我们需要字符串。BCL提供了很多能让字符串操作变得更简单的类。 C#预定义的string类型代表了.NET的System.String类。对于字符串,最需要理解的概念如下。字符串是Unicod...

2018-04-28 09:14:21 265

转载 C#图解教程 第二十四章 反射和特性

Note类的元数据包含该类的成员和特性程序的元数据可以理解为程序的结构信息反射(reflection)用来查看元数据C#中通过Type类来反射特性(attribute)用来给类型添加元数据PS:理解有待加强 反射和特性元数据和反射大多数程序都要处理数据,包括读、写、操作和显示数据。(图形也是一种数据的形式。)然而,对于某些程序来说,它们操作的数据不是数字、文本或图形,而是程序和程序类型本身的信息。...

2018-04-28 09:13:26 239

转载 C#图解教程 第二十三章 预处理指令

预处理指令什么是预处理指令源代码指定了程序的定义,预处理指令(preprocessor directive)指示编译器如何处理源代码。例如,在某些情况下,我们可能希望编译器忽略一部分代码,而在其他情况下,我们可能希望代码被编译。预处理指令给了我们这样的选项。 在C和C++中有实际的预处理阶段,此时预处理程序遍历源代码并且为之后的编译阶段准备文本输出流,在C#中没有实际的预处理程序。“预处理”指令由...

2018-04-28 09:12:13 233

转载 C#图解教程 第二十二章 异常

异常什么是异常异常是程序中的运行时错误,它违反了系统约束或应用程序约束,或出现了在正常操作时未预料的情形。例如,程序试图除以0或试图写一个只读文件。当这些发生时,系统捕获这个错误并抛出(raise)一个异常。 如果程序没有提供处理该异常的代码,系统会挂起这个程序。例如,下面的代码在试图用0除一个数时抛出一个异常:class Program{ static void Main() ...

2018-04-28 09:11:20 411

转载 C#图解教程 第二十一章 命名空间和程序集

命名空间和程序集引用其他程序集在第1章中,我们在高层次上观察了编译过程。编译器接受源代码文件并生称名称为程序集的输出文件。这一章中,我们将详细阐述程序集以及它们是如何生成和部署的。你还会看到命名空间是如何帮助组织类型的。 在迄今为止所看到的所有程序中,大部分都声明并使用它们自己的类。然而,在许多项目中,你会想使用来自其他程序集的类或类型。这些其他的程序集可能来自BCL,或来自第三方供应商,或你自己...

2018-04-28 09:10:26 318

转载 C#图解教程 第二十章 异步编程

笔记启动一个程序,系统在内存中创建一个新进程,进程内部是系统创建的线程,线程可以派生其他线程,这就有了多线程。 进程内的多个线程共享进程的资源,系统为处理器规划的单元是线程。异步编程可以实现在新线程里面运行一部分代码,或改变代码的执行顺序。本章介绍了以下几种异步编程方式,它们居多是并发的而非并行。async/await.NET4.5以上才支持(4.0可以用扩展包支持)简单易用,结合异步方法的控制流...

2018-04-28 09:09:04 718

转载 C#图解教程 第十九章 LINQ

LINQ什么是LINQ在关系型数据库系统中,数据被组织放入规范化很好的表中,并且通过简单且强大的SQL语言来进行访问。因为数据在表中遵从某些严格的规则,所以SQL可以和它们很好的配合使用。 然而,在程序中却与数据库相反,保存在类对象或结构中的数据差异很大。因此,没有通用的查询语言来从数据结构中获取数据。从对象获取数据的方法一直都是作为程序的一部分而设计的。然而使用LINQ可以很轻松地查询对象集合。...

2018-04-28 09:07:30 296

转载 C#图解教程 第十八章 枚举器和迭代器

枚举器和迭代器枚举器和可枚举类型第12章中,我们看到可以用foreach语句遍历数组。在本章,我们会进一步探讨数组,来看看为什么它们可以被foreach语句处理。我们还会研究如何使用迭代器为用户自定义类增加该功能。foreach语句数组foreach语句为我们依次取出数组中的每个元素。int[] arr1={10,11,12,13};foreach(int item in arr1){ ...

2018-04-28 09:06:23 514

转载 C#图解教程 第十七章 泛型

泛型什么是泛型到现在为止,所有在类声明中用到的类型都是特定的类型–或是程序员定义的,或是语言或BCL定义的。然而,很多时候,我们需要把类的行为提取或重构出来,使之不仅能用到它们编码的数据类型上,还能应用到其他类型上。 泛型可以做到这一点。我们重构代码并额外增加一个抽象层,对于这样的代码来说,数据类型就不用硬编码了。这是专门为多段代码在不同的数据类型上执行相同指令的情况专门设计的。听起来比较抽象,下...

2018-04-27 09:11:31 487

转载 C#图解教程 第十六章 转换

转换什么是转换要理解什么是转换,让我们先从声明两个不同类型的变量,然后把一个变量(源)的值赋值给另一个变量(目标)的简单示例开始讲起。在赋值前,源的值必须转换成目标类型的值。转换(conversion)是接受一个类型的值并使用它作为另一个类型的等价值的过程转换后的值应和源值一样的,但其类型为目标类型例:var1是short类型的16位符号整数,初始值为5。var2是byte类型的8位有符号整数,初...

2018-04-27 09:10:32 414

转载 C#图解教程 第十五章 接口

接口什么是接口接口是指定一组函数成员而不实现它们的引用类型。所以只能类和结构来实现接口。 这种描述比较抽象,直接来看个示例。 下例中,Main方法创建并初始化了一个CA类的对象,并将该对象传递给PrintInfo方法。class CA{ public string Name; public int Age;}class CB{ public string First...

2018-04-27 09:09:36 296

转载 C#图解教程 第十四章 事件

事件发布者和订阅者很多程序都有一个共同的需求,既当一个特定的程序事件发生时,程序的其他部分可以得到该事件已经发生的通知。 发布者/订阅者模式(publisher/subscriber pattern)可以满足这种需求。发布者(publisher) 发布某个事件的类或结构,其他类可以在该事件发生时得到通知订阅者(subscriber) 注册并在事件发生时得到通知的类或结构事件处理程序(event h...

2018-04-27 09:08:23 353

转载 C#图解教程 第十三章 委托

委托什么是委托可以认为委托是持有一个或多个方法的对象。当然,正常情况下你不想“执行”一个对象,但委托与典型对象不同。可以执行委托,这时委托会执行它所“持有”的方法。 我们从下面的示例代码开始。具体细节将在本章剩余内容介绍。代码开始部分声明了一个委托类型MyDel(没错,是委托类型不是委托对象)Program类声明了3个方法:PrintLow、PrintHigh和Main。接下来要创建的委托对象将持...

2018-04-27 09:07:30 266

转载 C#图解教程 第十二章 数组

数组数组数组实际上是由一个变量名称表示的一组同类型的数据元素。每个元素通过变量名称和一个或多个方括号中的索引来访问:数组名 索引 ↓ ↓MyArray[4]定义让我们从C#中与数组有关的重要定义开始元素 数组的独立数据项称为元素。数组的所有元素必须是同类型的,或继承自相同的类型秩/维度 数组可以有任何为正数的维度数。数组的维度数称作秩(rank)维度长度 数组的每个维度都有一个长度...

2018-04-27 09:06:06 521 1

转载 C#图解教程 第十一章 枚举

枚举枚举枚举是由程序员定义的类型与类或结构一样。与结构一样,枚举是值类型,因此直接存储它们的数据,而不是分开存储成引用和数据枚举只有一种类型的成员:命名的整数值常量例:枚举示例关键字 枚举名称 ↓ ↓enum TrafficLight{ Green, ← 逗号分隔,没有分号 Yellow, Red}每个枚举类型都有一个底层整数类型,默认为int。...

2018-04-27 09:04:54 215

转载 C#图解教程 第十章 结构

结构什么是结构结构是程序员定义的数据类型,与类非常相似。它们有数据成员和函数成员。结构与类的重要区别是:类是引用类型而结构是值类型结构是隐式密封的,这意味着它们不能被派生声明结构的语法与声明类相似关键字 ↓struct SturctName{ MemberDeclarations}例:Point结构struct Point{ public int X; publ...

2018-04-27 09:04:06 206

转载 C#图解教程 第九章 语句

语句什么是语句语句是描述某个类型或让程序执行某动作的源代码指令。语句主要有3类声明语句 声明类型或变量嵌入语句 执行动作或管理控制流标签语句 控制跳转例:语句示例int x=19; //简单声明int z; //简单声明{ //块 int y=20; //简单声明 z=x+y; //嵌入语句top:y=3...

2018-04-27 09:03:11 296

转载 C#图解教程 第八章 表达式和运算符

表达式和运算符表达式本章将定义表达式,并描述C#提供的运算符。 运算符是一个符号,它表示返回单个结果的操作。操作数(operand)指作为运算符输入的数据元素。一个运算符会:将操作数作为输入执行某个操作基于该操作返回一个值表达式是运算符和操作数的字符串。可以作为操作数的结构有:字面量常量变量方法调用元素访问器,如数组访问器和索引器其他表达式例:下面的表达式,有3个运算符和4个操作数字面量字面量(l...

2018-04-27 09:01:09 276

转载 C#图解教程 第七章 类和继承

类和继承类继承通过继承我们可以定义一个新类,新类纳入一个已经声明的类并进行扩展。可以使用已存在的类作为新类的基础。已存在类称为基类(base class),新类称为派生类(derived class)。派生类组成如下:本身声明中的成员基类的成员声明派生类,需要在类名后加入基类规格说明派生类扩展它的基类,因为它包含了基类的成员,加上它本身声明中的新增功能派生类不能删除它所继承的任何成员例:Other...

2018-04-24 15:42:27 465

转载 C#图解教程 第六章 深入理解类

深入理解类类成员前两章阐述了9种类成员中的两种:字段和方法。本章将会介绍除事件(第14章)和运算符外的其他类成员,并讨论其特征。成员修饰符的顺序字段和方法的声明可以包括许多如public、private这样的修饰符。本章还会讨论许多其他修饰符。多个修饰符一起使用时,它们需要怎么排序呢?[特性] [修饰符] 核心声明修饰符修饰符,必须放在核心声明前多个修饰符顺序任意特性特性,必须放在修饰符和核心声明...

2018-04-24 15:39:52 265

转载 C# 图解教程 第五章 方法

方法方法的结构方法是一块具有名称的代码。 可以使用方法的名称从别的地方执行代码,也可以把数据传入方法并接收数据输出。方法是类的函数成员,主要有两个部分,方法头和方法体。方法头 指定方法的特征方法是否返回数据,若返回,返回什么类型方法的名称哪种类型的数据可以传递给方法或从方法返回,以及应如何处理这些数据方法体 包含可执行代码序列int MyMethod(int par1,string par2)...

2018-04-24 15:36:30 375

转载 C# 图解教程 第四章 类的基本概念

类的基本概念类的概述类是一种活动的数据结构 在面向对象分析和设计产生前,程序员仅把程序当做指令的序列。那时的焦点在指令的组合和优化上。 随着面向对象的出现,焦点转移到组织程序的数据和功能上。 程序的数据和功能被组织为逻辑上相关的数据项和函数的封装集合,并被称为类。类是一个能存储数据并执行代码的数据结构。包含数据成员和函数成员。数据成员:存储与类或类的实例相关的数据。数据成员通常模拟现实世界事物的特...

2018-04-24 15:33:31 233

转载 C# 图解教程 第三章 类型、存储和变量

类型、存储和变量C#程序是一组类型声明C程序是一组函数和数据类型 C++程序是一组函数和类 C#程序是一组类型声明C#程序或DLL源码是一组一种或多种类型声明对于可执行程序,类型声明中必须有一个包含Main方法的类命名空间是一种把相关类型声明分组并命名的方法类型是一种模板可以把类型想象成一个用来创建数据结构的模板。模板本身不是数据结构,但它说明了由该模板构造的对象的特征。类型由下面的元素定义:名称...

2018-04-24 15:30:18 216

转载 C# 图解教程 第二章 C#编程概述

C#编程概述一个简单的C#程序标识符标识符是一种字符串,用来命名变量、方法、参数和许多后面将要阐述的其他程序结构。关键字所有C#关键字都由小写字母组成,但是.NET类型名使用Pascal大小写约定。Main:程序的起始点C#程序的可执行起始点在Main中第一条指令Main首字母必须大写从程序输出文本BCL(Base Class Library,基类库)提供Console类(在System命名空间中...

2018-04-24 15:21:59 304

转载 C# 图解教程 第一章 C#和.NET框架

C#和.NET框架在.NET之前20世纪90年代,微软平台多数程序员使用VB、C或C++。他们使用的技术都有问题。技术问题纯Win32 API不是面向对象,工作量比MFC大MFC(Microsoft Foundation Class,微软基础类库)虽是面向对象,但是不一致,且过于陈旧COM(Component Object Model,组件对象模型)虽然概念简单,但实际代码复杂丑陋通病以上技术都针...

2018-04-24 15:15:07 438

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除