C#语法知识
接口:
接口可以包含方法、属性、事件、索引器或这四种成员类型的任意组合。 接口不能包含常量、字段、运算符、实例构造函数、析构函数或类型。当类或结构实现接口时,类或结构必须为该接口定义的所有成员提供实现。
继承关系:类或结构可以实现多个接口,但是类只能继承单个类(抽象或不抽象)
类:
所有方法、字段、常量、属性和事件都必须在类型内部进行声明;这些称为类型的“成员”。 与其他一些语言不同的是,C# 中没有全局变量或方法。 即使是作为程序入口点的 Main 方法也必须在类或结构内部进行声明。 下表列出了可在类或结构中声明的所有不同种类的成员。
字段、常量、属性、方法、构造函数、析构函数、事件、索引器、运算符、嵌套类型
有些方法和属性要供类或结构外部的代码(称为“客户端代码”)调用或访问。 另有一些方法和属性可能仅供类或结构在自身内部使用。 应限制您的代码的可访问性,只允许应当访问它们的客户端代码进行访问,这一点十分重要。 使用访问修饰符 public、protected、internal、protected internal 和 private 可以指定类型及其成员对于客户端代码的可访问性。 默认可访问性为 private。
泛型类型:
可以使用一个或多个类型参数来定义类和结构。 客户端代码在创建类型的实例时提供类型。 例如,System.Collections.Generic 命名空间中的 List<T> 类使用一个类型参数进行定义。 客户端代码创建 List<string> 或 List<int> 的实例来指定列表中将包含的类型。 有关详细信息,请参阅 泛型(C# 编程指南)。
可以将类(不是结构)声明为静态。 静态类只能包含静态成员,不能使用 new 关键字进行实例化。 在程序加载时,静态类的一个副本将加载到内存中,可通过类名称访问该类的成员。 类和结构都可以包含静态成员。 有关详细信息,请参阅 静态类和静态类成员(C# 编程指南)。
类或结构可以嵌套在其他类或结构中。 有关更多信息,请参见嵌套类型。
可以在一个代码文件中定义类、结构或方法的一部分,而在另一个代码文件中定义另一部分。 有关更多信息,请参见分部类和方法。
可以实例化和初始化类或结构对象以及对象的集合,无需显式调用其构造函数。 有关更多信息,请参见对象和集合初始值设定项(C# 编程指南)。
在不方便或没必要创建命名类的情况下,例如当使用无需保留或传递给其他方法的数据结构填充列表时,可以使用匿名类型。 有关更多信息,请参见匿名类型(C# 编程指南)。
通过创建一个单独的类型,然后将该类型的方法当作原始类型的方法来调用,可以在不必创建派生类的情况下对类进行“扩展”。 有关更多信息,请参见扩展方法(C# 编程指南)。
在类或结构方法中,可以使用隐式类型来指示编译器在编译时确定正确的类型。 有关更多信息,请参见隐式类型的局部变量(C# 编程指南)。
C#语法知识的更多相关文章
- 那点你不知道的XHtml(Xml+Html)语法知识(DTD、XSD)
什么是XHtml: 摘录网上的一句话,XHTML就是一个扮演着类似HTML的角色的XML. XHtml可当模板引擎应用: CYQ.Data 框架里有一套XHtmlAction模板引擎, 应用在QBlo ...
- JSP的学习(5)——语法知识三之include指令
本篇继续来对JSP语法中的JSP指令进行学习,在<JSP的学习(3)——语法知识二之page指令>中,已经介绍了JSP指令的书写格式和page指令的详细信息,所以在这一篇中我们会对JSP指 ...
- JSP的学习(3)——语法知识二之page指令
本篇接上一篇<JSP的学习(2)——语法知识一>,继续来学习JSP的语法.本文主要从JSP指令中的page指令,对其各个属性进行详细的学习: JSP指令: JSP指令是为JSP引擎而设计的 ...
- JSP的学习(2)——语法知识一
上一篇<JSP的学习>讲述了JSP的一些基础知识和底层原理,本篇将来学习JSP所需掌握的语法知识等. JSP的语法主要包括以下几个部分的内容: 1) JSP模板元素 2) ...
- thinkPHP 模板中的语法知识 详细介绍(十二)
原文:thinkPHP 模板中的语法知识 详细介绍(十二) 本章节:介绍模板中的语法,详细的语法介绍 一.导入CSS和JS文件 ==>记住常量的是大写 1.css link .js sc ...
- XHtml(Xml+Html)语法知识(DTD、XSD)
那点你不知道的XHtml(Xml+Html)语法知识(DTD.XSD) 什么是XHtml: 摘录网上的一句话,XHTML就是一个扮演着类似HTML的角色的XML. XHtml可当模板引擎应用: CYQ ...
- RxSwift之路 1#Swift语法知识准备
RxSwift之路 1#Swift语法知识准备 在开始学习 RxSwift 之前,一定要对 Swift 相关语法有所了解,否则就很难理解为什么可以这样.关于 Swift 的学习其实只要看看 Swift ...
- Java基础语法知识你真的都会吗?
第一阶段 JAVA基础知识 第二章 Java基础语法知识 在我们开始讲解程序之前,命名规范是我们不得不提的一个话题,虽说命名本应该是自由的,但是仍然有一定的"潜规则",通过你对命名 ...
- BitBake使用攻略--BitBake的语法知识一
目录 写在前面 1. BitBake中的赋值 1.1 直接赋值 1.2 间接赋值 1.3 追加与前加赋值 1.4 Override风格的赋值语法 1.5 标志赋值 1.6 内联函数赋值 1.7 其他一 ...
- Ajax基础知识 浅析(含php基础语法知识)
1.php基础语法 后缀名为.php的文件 (1) echo 向页面中输入字符串 <?php 所有php相关代码都要写在<?php ?>这个标签之中 echo &q ...
随机推荐
- GOLDENGATE 配置文档,各类参数--转发
1 GoldenGate简要说明 GoldenGate现在是业内成熟的数据容灾与复制产品,经过多年的发展与完善,现在已经成为业内事实上的标准之一. GoldenGate软件是一种基于日志的 ...
- 吐槽!important专用博文
在IT公司实习了1个多月,氛围还是不错的,也算是积累了一些项目经验,同时在代码模块化.版本控制.任务优先级等方面有了更进一步的体会和理解,深刻认识到在一个团队,最重要的是沟通和负责. 嗯,说了下题外话 ...
- java 从数据删除指定值
public class ArrayRemoveValue { public static void main(String[] args) { Integer[] _IntArray = new I ...
- 【MCU】【STM32】1.cube MX库使用笔记
STM32Cube 是一个全面的软件平台,包括了ST产品的每个系列.(如,STM32CubeF4 是针对STM32F4系列). 平台包括了STM32Cube 硬件抽象层和一套的中间件组件(RTOS, ...
- Selenium的延迟等待
http://my.oschina.net/u/928852/blog/98885 Selenium的延迟等待分为 显式等待(Explicit Wait) & 隐式等待(Implicit Wa ...
- 算法:寻找maximum subarray
<算法导论>一书中演示分治算法的第二个例子,第一个例子是递归排序,较为简单.寻找maximum subarray稍微复杂点. 题目是这样的:给定序列x = [1, -4, 4, 4, 5, ...
- MS SQL提示列名 'Y' 无效的原因及解决办法
在作项目写MS SQL 存储过程时,需拼接SQL语句字符串,其中有单字符变量,如下图: 如上图执行存储过程是提示“列名‘Y’无效”.经反复测试,原因在用单字符变量连接SQL字符串是必须在引用变量前后各 ...
- Extjs4 -- Ext.loader命名空间的配置
初次使用extjs4的版本,在配置学习Ext.Loader()进行js文件的动态加载机制,由于各种原因导致多次失败,纠结2天,现将解决时出现的问题及需要注意事项进行记录 开发环境myeclipse8. ...
- AngularJS的学习笔记(一)
声明:单纯作为我自己的学习笔记,纯是为了自己学习,上面的话都是从各处粘贴,如有冒犯,请原谅我这个小菜鸟~ AngularJS使用了不同的方法,它尝试去补足HTML本身在构建应用方面的缺陷. 使用双大括 ...
- mySql 基本语法学习笔记
create database if not exists yang; drop database if exists yang; show databases; show dat ...