`

C#学习笔记一 对象和类型

    博客分类:
  • c#
阅读更多
最近在学习c#,做一些笔记。
1、对象和类型
类和结构
区别:类是存储在堆上的引用类型,结构是存储在堆栈上的值类型。访问方式、结构不支持继承。较小的结构可提高性能。
都可以用new来声明实例。
1.1类成员
类中的数据和函数称为类的成员。
数据成员:字段、常量(const)、事件
函数成员:方法、属性、构造函数、终结器(析构函数)、运算符、索引器。
方法:
1、给方法传递参数
参数可以通过引用或值传递给方法,在变量通过引用转递给方法时,被调用的方法得到的就是这个变量,所以在方法内部对变量进行的任何改变在方法退出后仍旧发挥作用。而如果变量是通过值传递的,被调用的方法得到的是变量的一个副本,也就是说,在方法退出后,对变量的改变会丢掉。对复杂的数据类型,按引用传递的效率更高,因为按值传递时要复制大量的数据。

要使按值传递的参数按引用方式传递可以使用ref out关键字
他们的区别是:
1、使用ref型参数时,传入的参数必须先被初始化。对out而言,必须在方法中对其完成初始化。
他们的适合场合:
out适合用在需要retrun多个返回值的地方,而ref则用在需要被调用的方法修改调用者的引用的时候。

参考:http://www.cnblogs.com/hubj/archive/2008/12/24/1361811.html

2、方法的重载
声明同名但参数个数或类型不同的方法即可。
注意:
两个方法不能仅在返回类型上有区别。
两个方法不能仅根据参数是声明为ref还是out来区分。

构造函数
如果提供了带参数的构造函数,编译器就不会自动提供默认的构造函数。
如果将构造函数定义为private或protected.则外部代码就无法通过new实例化该类,
这在下面两种情况下是有用的:
1)类仅用作某些静态成员或属性的容器,因此永远不会实例化
2)希望类仅通过某个静态成员函数来实例化(所谓对类实例化的类代理方法)
静态构造函数
通常在第一次调用类的成员之前执行

构造函数初始化器

3、只读字段
readonly比const关键字灵活的多。只读字段可以在构造函数中赋值,但不能在其他地方赋值。可以结合静态构造函数初始化一些变量。如有一个编辑文档的程序,因为要注册,需要限制可以同时打开的文档数,可以定义一个字段表示这个最大的文档数,这个字段必须是只读的。每次安装程序时,从注册表或其他文件读入
public class DocumentEditor
{
public static readonly uint MaxDocuments;
static DocumentEditor()
{
MaxDocuments = 读数据();
}
}


4、结构
结构是值类型,不是引用类型,他们存储在堆栈中火存储为内联。
结构的构造函数。编译器总是提供一个无参数的构造函数,这是不允许替换的。
不允许定义无参数的构造函数。
5、部分类
partial关键字允许把类、结构、接口放到多个文件中。
6、静态类
不能创建静态类的实例
7、Object类
所有类的基类
ToString()
GetHashTable()
Equals()
Finalize()
GetType()


分享到:
评论

相关推荐

    Learning hard C# 学习笔记

    总而言之,《Learning Hard C# 学习笔记》是一份全面的C#学习资源,它不仅覆盖了C#的基本语法和高级特性,还包含了实际开发中的应用场景,对于初学者来说是一份不可多得的参考资料。配合源码实践,相信你可以从零...

    C#6.0学习笔记 从第一行C#代码到第一个项目设计周家安著

    通过《C# 6.0学习笔记》,读者不仅能掌握C#编程语言的基础,还能了解到高级特性和实际开发中的应用,为成为一个合格的C#开发者奠定坚实基础。无论是自学还是教学,这本书都是不可多得的参考资料。

    C#学习笔记.pdf

    根据提供的文件信息,我们可以提取并展开以下几个核心知识点: ...通过以上知识点的梳理,可以发现这份C#学习笔记涵盖了从基本的类型转换到复杂的图像处理、打印功能等多个方面,是一份较为全面的学习材料。

    经典、简单C#学习笔记

    综上所述,"经典、简单C#学习笔记"涵盖了C#语言从基础到进阶的全面内容,适合初学者入门,也对有一定经验的开发者有参考价值。通过深入理解和实践这些知识点,你将能够熟练掌握C#,并在各种应用场景中游刃有余。

    C#学习笔记(非常经典)

    C#学习笔记因其经典性和实用性而受到许多程序员的推崇,是初学者入门和进阶的重要参考资料。 在C#的学习过程中,首先需要理解其基本语法结构,包括变量定义、数据类型(如int、string、bool等)、控制流(如if语句...

    C#学习笔记

    C#是一种广泛应用于软件开发的面向对象的编程...以上就是C#学习笔记涵盖的一些关键知识点,每个主题都值得深入探究和实践,以精通C#编程。在学习过程中,不断练习和理解这些概念,将有助于成长为一名专业的C#开发者。

    Visual c#学习笔记

    《Visual C#学习笔记》是一本深入探讨C#编程语言及其在ASP.NET框架下应用的专业教程。这本书旨在为想要掌握C#和ASP.NET技术的读者提供详尽的指导,无论你是初学者还是有一定开发经验的程序员,都能从中受益匪浅。 ...

    C#6.0学习笔记 从第一行C#代码到第一个项目设计 随书源码

    本学习笔记旨在帮助初学者从零基础开始掌握C#编程,逐步进阶到能够独立设计项目。随书源码为学习提供了实践操作的平台,确保理论与实践相结合。 一、C# 6.0基础语法 1. 变量与数据类型:C#支持多种数据类型,包括...

    C#学习阅读笔记

    C#学习阅读笔记 本笔记总结了 C# 语言的基本概念、特点和重要知识点。C# 是一种类型安全的语言,专门用于 .NET Framework,具有强数据类型和面向对象的编程特点。下面是笔记的主要内容: 一、C# 语言概述 * C# 是...

    C#-学习笔记

    在提供的学习笔记中,"20141031-C#高级编程-学习笔记"可能涵盖了上述所有知识点,包括详细的解释、示例代码和实践指导。通过深入阅读和实践,你可以逐步提升自己的C#编程技能,成为一名出色的C#开发者。在学习过程中...

    C#学习笔记(基础篇)

    以上只是C#学习笔记的基础部分,实际学习过程中还会涉及更多高级特性,如匿名方法、Lambda表达式、异步编程(async/await)、匿名类型、动态类型等。通过不断实践和学习,你可以逐步掌握C#,并运用到实际项目开发中...

    C#学习笔记powerpoint版

    这是一份基于PowerPoint制作的C#学习笔记,适合初学者系统地了解和掌握C#编程语言的基础知识。虽然没有具体的描述,但我们可以推测这份笔记是作者在学习过程中整理的心得体会,旨在帮助初学者理解C#的核心概念和技术...

    C#学习笔记(超有价值的)

    总之,"C#学习笔记"涵盖了C#语言的各个方面,从基本语法到面向对象编程,再到库的使用和项目实践,是一份全面且实用的学习资料。通过系统地学习这份笔记,你将能够掌握C#编程技能,为自己的IT职业生涯打下坚实的基础...

    C#6.0学习笔记 从第一行C#代码到第一个项目设计 高清

    《C#6.0学习笔记 从第一行C#代码到第一个项目设计》是一本针对初学者和进阶者深入理解C#编程语言的详细教程。该资源包含高清PDF文档,作者可能是周家安,专注于C# 6.0版本的新特性和实战应用。这个压缩包重约180MB,...

    C#学习笔记_20100614.pdf

    反射是C#中的一个重要特性,它允许在运行时检查程序集和类型的信息,并调用程序集中的方法或属性。下面的例子展示了如何使用反射来获取一个类中的所有公共方法的信息: ```csharp using System; using System....

    C#学习笔记......

    【描述】:这是一份详尽的C#学习笔记,涵盖了从基础知识到高级特性的全面讲解。笔记内容包括C#语法基础、面向对象编程概念、异常处理、集合与泛型、LINQ查询、多线程编程、Asynchronous编程模型(async/await)、...

    C#学习笔记01练习题和答案

    C#学习笔记01练习题和答案 本资源为C#学习笔记01的练习题和答案,涵盖了基本的C#编程概念和数学运算。下面是从本资源中提取的关键知识点: 一、基本C#编程概念 * 使用using语句导入命名空间,例如using System;...

    C#学习笔记-C# Study Notes

    【C#学习笔记-C# Study Notes】 这是一份详尽的C#学习资源,旨在帮助初学者深入理解和掌握C#编程语言。这份笔记不仅包含了语言基础,还涵盖了从实际问题出发的学习过程,强调理解而非机械记忆,使得学习更加生动且...

Global site tag (gtag.js) - Google Analytics