随笔分类 -  [01] C#

摘要:一、this关键字 在C#中,this关键字有以下3种常见的用法: 1.用在类的属性、实例方法或实例构造方法中,区分成员名和本地变量(或参数)。下面的示例声明一个名为Myclass的类,类中包括一个实例字段myVal和一个实例构造函数,该构造函数带一个名为myVal的参数,在方法中,通过this... 阅读全文
posted @ 2013-01-03 18:13 YunshiSun 阅读(5515) 评论(0) 推荐(3) 编辑
摘要:一、成员常量 1.常量 常量是在编译时已知并在程序的生存期内不发生更改的不可变值。常量使用 const 修饰符进行声明。只有 C# 内置类型(System.Object 除外)可以声明为 const,用户定义的类型(包括类、结构和数组)不能为 const。常量分为成员常量和本地常量。 2.成员常量 成员常量就是声明在类中的常量,它与前面讲过的本地常量相似,只是作用域不同:本地常量只存在方法中,而成员常量存在于类当中。 下面是一个声明成员常量的示例,MyCalendar类中包含一个成员常量months:1 class MyCalendar2 {3 ... 阅读全文
posted @ 2013-01-02 22:09 YunshiSun 阅读(1220) 评论(0) 推荐(1) 编辑
摘要:一、析构函数 析构函数(destructor)用于析构类的实例。即在类的实例被销毁之前,执行资源的清理或者释放非托管资源。下面的代码示例中声明了一个名为Car的类,该类包含一个名为~Car的析构函数:1 class Car2 {3 ~Car() // destructor4 {5 // 执行清理6 }7 } 析构函数的特征如下: 1.不能在结构中定义析构函数。只能对类使用析构函数。 2.每个类只能有一个析构函数。 3.析构函数名为:"~"+类名,比如~Car。 4.析构... 阅读全文
posted @ 2013-01-02 19:10 YunshiSun 阅读(824) 评论(1) 推荐(0) 编辑
摘要:一、构造函数概述 构造函数是在创建给定类型的对象时执行的类方法。构造函数具有与类相同的名称,它是类或结构中第一个被执行的方法,通常用于申请内存、初始化新对象的数据成员。任何时候,只要创建类或结构,就会调用它的构造函数。构造函数可以重载,即类或结构可能有多个接受不同参数的构造函数。构造函数使得程序员可设置默认值、限制实例化以及编写灵活且便于阅读的代码。构造函数也被称为构造器或构造方法。二、实例构造函数 1.默认构造函数 如果在类声明中没有显式声明构造函数,那么编译器会自动生成一个隐式的默认构造函数。该构造函数的函数名和类名相同、public、没有参数、方法体为空,它实例化对象,并且将成... 阅读全文
posted @ 2013-01-02 12:42 YunshiSun 阅读(870) 评论(2) 推荐(0) 编辑
摘要:一、属性的定义和特征 1.属性的定义 属性是表示类或类的实例中的一个数据项的成员:它提供灵活的机制来读取、编写或计算某个私有字段的值。可以像使用公共数据成员一样使用属性,但实际上它们是称作“访问器”的特殊方法。这使得可以轻松访问数据,此外还有助于提高方法的安全性和灵活性。 2.属性的特征 1).属性是命名的类成员,它有类型,可以被赋值和读取。 2).与字段不同,属性是一个函数成员;它本身没有任何存储,不为数据存储分配内存;它执行代码。 3).属性有两个匹配的、称为访问器的方法:set访问器为属性赋值,get访问器从属性中获取值。 4).在使用属性时,属性访问器... 阅读全文
posted @ 2013-01-01 20:54 YunshiSun 阅读(595) 评论(0) 推荐(0) 编辑
摘要:一、参数 1.参数是什么? 很多情况下,我们声明一个方法,就是为了它的返回值。这我们只需要在方法头中指定方法的返回类型,并且在方法体中使用return语句即可完成。但是,还有一些情况下,只通过这种方式是实现不了的。比如,需要将一些外部数据数据传入方法参与运算,或者需要多个返回值。这时,我们就需要一种称为“参数”的变量来充当这个传递员的角色。 参数就是声明在方法头的参数列表中的特殊变量,它的作用就是为方法传入数据或将方法体中得到的结果传出方法。 2.形参和实参 1).形参 形参就是声明在方法头的参数列表中的一种本地变量。它的声明和普通的本地变量一样,需要有类型和变量... 阅读全文
posted @ 2013-01-01 15:27 YunshiSun 阅读(436) 评论(0) 推荐(0) 编辑
摘要:一、方法的结构 1.方法的概念 C#中的方法就是声明在类型中的语句块,是类型的函数成员。它既可以有名称,也可以没有名称,没有方法名的方法称为匿名方法。 2.方法的结构 方法主要由两部分组成:方法头和方法体。其中,方法头指定方法的特征,包括方法是否返回值以及返回值的类型、方法名和参数列表;方法体就是由一对大括号括起来的可执行代码的语句序列,包括本地变量、流程控制结构、方法调用和嵌套块等。方法的结构如下图所示 3.方法声明示例 下面示例声明一个无返回值的、方法名为“SayHello”、无参数的公共方法。1 /// <summary>2 ///... 阅读全文
posted @ 2012-12-31 23:58 YunshiSun 阅读(469) 评论(0) 推荐(0) 编辑
摘要:一、实例成员与静态成员 在上一篇文章中,将成员按照作用,分为数据成员和函数成员。从另一个角度——成员的生存期(或者说作用域、存在性),可以将成员分为实例成员与静态成员。 1.实例成员 实例成员是和类的实例关联的,类的每个实例都拥有自己的各个类成员的复制。实例成员随着实例的创建而创建,随着实例的销毁而销毁。默认情况下,成员都是实例成员,被关联到一个实例。实例成员使用"实例名.成员名”访问。 2.静态成员 静态成员是和类本身相关联的类成员,他们被类的所有实例共享,所有实例都访问同一内存位置。静态成员的生存期也是与类本身相关的,只要类声明完成就可以访问,它的存在性与实例无关。要声明... 阅读全文
posted @ 2012-12-30 23:27 YunshiSun 阅读(514) 评论(0) 推荐(0) 编辑
摘要:一、栈和堆 在程序运行时,它的数据是存储在内存中的。而类型决定了一个数据项需要多大的内存、存储在什么地方以及如何存储。运行中的程序使用两个内存区域来存储数据——栈和堆。 1.栈 1).定义 栈是一个内存数组,是一个后进先出(LIFO,last-in first-out)的数据结构。程序在编译期间就已经分配好了它所需要的栈空间的大小。栈一般用于存储变量的值、当前程序的执行环境和传递个方法的参数。 2).特征 数据只能从栈顶插入和删除;把数据插入栈顶称为“入栈”(push);把数据从栈顶删除称为“出栈”(pop)。 2.堆 堆是一块内存区域,... 阅读全文
posted @ 2012-12-27 23:56 YunshiSun 阅读(1414) 评论(1) 推荐(0) 编辑
摘要:一、什么是类型? 1.什么是类型 类型是一种数据结构的模板,它说明了由模板构造的对象的特征。类型定义了存储数据需要的内存空间的大小、对数据的访问方式、数据的存储位置(栈/堆)以及组成该类型的成员。类型包括C#语言提供的预定义类型和用户自定义的类型。 2.类型的元素 类型由名称、用于保存数据成员的数据结构及一些行为和约束条件。下图表示int类型的组成元素。 二、预定义类型 如上图所示,C#提供了16中预定义类型,包括13重简单类型和3种非简单类型。关于预定义类型的几点说明: 1.所有预定义类型的名称全部由小写字母组成。 2.所有预定义类型都直接映射到底层的.Net类型,... 阅读全文
posted @ 2012-12-23 21:50 YunshiSun 阅读(821) 评论(0) 推荐(0) 编辑
摘要:一、概述 《C#4.0图解教程》中将C#程序描述为“一组类型声明”。这是与C和C++相比较的结果,也是C#最大的特点。而我们日常的编程,就是如何设计、组织和应用这些类型以及它们的成员,来完成我们的需求。 一个C# 程序可由一个或多个文件组成,而每个文件都可以包含零个或零个以上的命名空间。 一个命名空间除了可包含其他命名空间外,还可包含类、结构、接口、枚举、委托等类型。下面是一个MSDN给的通用示例。二、示例 1 using System; 2 3 namespace HelloWorld 4 { 5 class GeneralStructure 6 { 7 } 8... 阅读全文
posted @ 2012-12-23 19:38 YunshiSun 阅读(904) 评论(0) 推荐(0) 编辑
摘要:一、程序运行结果 二、源代码using System;namespace HelloWorld{ class Program { /// <summary> /// Main方法:控制台应用程序的入口 /// </summary> /// <param name="args"></param> static void Main(string[] args) { // 向控制台输出一句话 Console.WriteLine("Hello,world!");... 阅读全文
posted @ 2012-12-23 18:56 YunshiSun 阅读(11281) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示