类是对数据结构和算法的封装。

一 类成员

类成员包括以下几类,作者在后面的章节会详细讲解。

字段(用来保存数据,可用static readonly const来修饰)、方法(操作数据的代码)、属性(用来控制对类内部变量的访问)、常量、索引器、事件和运算符。

二 访问修饰符

public 可被外部的类和派生类访问

protected 只能被派生类访问

private 外部的类和派生类都不能访问

internal 程序集内部可访问

不管类本身还是类成员默认的修饰符都是private

三 Main 函数

每个C#应用程序都必须有Main函数,Main函数是应用程序的入口,且必须用public和static修饰。对Main函数的位置没有限制,编译器会自行查找。

Main函数的参数为一个string[]数组。可以通过使用命令行调用一个应用程序的Main函数来运行程序。

Main函数还可以有int类型的返回值,这在目前的可视化应用程序中用处不大,但如果是批处理程序,可以借助这儿的返回值来指示运行结果、错误码等。

还可以编写多个Main函数来设置多个程序入口,使用命令行运行时,可以使用/main:<入口函数名称>来切换入口。

四 构造函数

在类被初始化时,构造函数会首先执行。构造函数无法设置返回值。

五 静态类型

静态类型在包含改成员的应用程序启动时就会被创建,知道程序被关闭时才被销毁,静态类型成员在类被实例化之前就可以访问了。静态成员在声明时必须被赋值,如果没有赋值,编译器会自动使用对应类型的默认值。

六 常量与只读类型的区别

常量,关键字const,常量在编译时就会被赋值,等号的右边只能是确定的值,不能是表达式。可以使用常量来代替代码中的魔数,以增加代码的可读性。

只读类型,在初始化时赋值,随后不可再变动。这适用于编译器无法确定值,但在初始化后不可被修改的情况。可以在构造函数为只读类型赋值。如果在构造函数赋值只读类型,意味使用着该变量前必须实例化类,如果像直接使用,可以在静态构造函数中为其赋值,变量的修饰符相应地也要改为static readonly

《Inside C#》笔记(四) 类的更多相关文章

  1. 初探swift语言的学习笔记四(类对象,函数)

    作者:fengsh998 原文地址:http://blog.csdn.net/fengsh998/article/details/29606137 转载请注明出处 假设认为文章对你有所帮助,请通过留言 ...

  2. [Scala]Scala学习笔记四 类

    1. 简单类与无参方法 class Person { var age = 0 // 必须初始化字段 def getAge() = age // 方法默认为公有的 } 备注 在Scala中,类并不声明为 ...

  3. Typescript 学习笔记四:回忆ES5 中的类

    中文网:https://www.tslang.cn/ 官网:http://www.typescriptlang.org/ 目录: Typescript 学习笔记一:介绍.安装.编译 Typescrip ...

  4. C#可扩展编程之MEF学习笔记(四):见证奇迹的时刻

    前面三篇讲了MEF的基础和基本到导入导出方法,下面就是见证MEF真正魅力所在的时刻.如果没有看过前面的文章,请到我的博客首页查看. 前面我们都是在一个项目中写了一个类来测试的,但实际开发中,我们往往要 ...

  5. 《MFC游戏开发》笔记四 键盘响应和鼠标响应:让人物动起来

    本系列文章由七十一雾央编写,转载请注明出处. http://blog.csdn.net/u011371356/article/details/9327377 作者:七十一雾央 新浪微博:http:// ...

  6. IOS学习笔记(四)之UITextField和UITextView控件学习

    IOS学习笔记(四)之UITextField和UITextView控件学习(博客地址:http://blog.csdn.net/developer_jiangqq) Author:hmjiangqq ...

  7. java之jvm学习笔记四(安全管理器)

    java之jvm学习笔记四(安全管理器) 前面已经简述了java的安全模型的两个组成部分(类装载器,class文件校验器),接下来学习的是java安全模型的另外一个重要组成部分安全管理器. 安全管理器 ...

  8. Java学习笔记四---打包成双击可运行的jar文件

    写笔记四前的脑回路是这样的: 前面的学习笔记二,提到3个环境变量,其中java_home好理解,就是jdk安装路径:classpath指向类文件的搜索路径:path指向可执行程序的搜索路径.这里的类文 ...

  9. Java加密与解密笔记(四) 高级应用

    术语列表: CA:证书颁发认证机构(Certificate Authority) PEM:隐私增强邮件(Privacy Enhanced Mail),是OpenSSL使用的一种密钥文件. PKI:公钥 ...

随机推荐

  1. HashMap的源码分析

    hashMap的底层实现是 数组+链表 的数据结构,数组是一个Entry<K,V>[] 的键值对对象数组,在数组的每个索引上存储的是包含Entry的节点对象,每个Entry对象是一个单链表 ...

  2. Spring boot 配置 log4j2.xml

    <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring- ...

  3. WebMvcConfigurer

    [传送门]:详解WebMvcConfigurer接口 1. 设置跨域规则 @Configuration public class CrossOriginConfig implements WebMvc ...

  4. 200行代码实现简版react🔥

    200行代码实现简版react

  5. Firefox37.0.1+selenium 2.53+python3.6打开浏览器时报错NameError: name 'basestring' is not defined

    环境:Win7      Firefox浏览器版本37.0.1      Python36      Selenium2.53.0 在Pycharm里执行以下3行脚本: from selenium i ...

  6. Docker修改默认网段

    因阿里云服务器VPC默认占用了172.16.0.0/16 网段,与Docker里的网段相同,导致Docker里无法连接VPC服务器.后来找到的解决方案是修改Docker的默认网段. 由于Docker默 ...

  7. Linux压力测试软件Stress安装及使用

    一.安装 yum install -y epel-release yum install stress -y 二.参数说明 -? --help 显示帮助信息 --version 显示软件版本信息 -t ...

  8. Nginx反向代理上传大文件报错(failed to load resource : net :: ERR_CONNECTION_RESET)

    转自: https://blog.csdn.net/kinginblue/article/details/50753271?locationNum=14&fps=1 Nginx反向代理上传大文 ...

  9. AOP技术基础(转)

    1.引言 2.AOP技术基础 3.Java平台AOP技术研究 4..Net平台AOP技术研究 2.1 AOP技术起源 AOP技术的诞生并不算晚,早在1990年开始,来自Xerox Palo Alto ...

  10. Log4j 随笔

    对于一个Java开发者而言,Log4j是我们的好朋友了.话说到这里,需要自我检讨一下,这么久以来,凡是用到Log4j的地方,相关的配置文件都是直接拷贝过去,从来都没仔细看过.But thanks Go ...