静态类

静态类不能被其他类继承,静态成员亦不能被继承(访问的是同一个),备注1.
静态类只能继承自Object类。(静态类不能继承自其它类。)
继承(多态)、静态本身就是相反的。
静态类不能实现任何接口, (因为接口中的成员都是实例成员。*)
sealed:(*)密封类,不能被继承。
sealed关键字,表示类不能被继承。(密封类)
密封类表示不能被继承。String类。.net系统中本身对字符串有很多特殊处理(为String开了很多“绿灯”,String有很多特权,比如:不可变性,字符串池等等。),防止别的类继承后造成混乱。商业问题。
禁止子类重写父类的方法。
静态类的本质abstract+sealed(*,知道即可)static
静态类不能被实例化:abstract
静态类不能被继承:sealed

值类型:
int、char、double、float、long、short、byte、bool、enum、struct、decimal
值类型都是派生自ValueType
值类型不能继承,只能实现接口。

引用类型:
string、数组、类(子定义数据类型)、接口、委托、
int[] n={1,2,3};//引用类型。
引用类型都派生自:Object
引用类型可以继承(类之间可以继承)

枚举
一组和数值有关的常量
enum Gender { Male,Female}
enum Weeks { 星期日=0,星期一,}

把字符串转换成枚举Gender g = (Gender)Enum.Parse(typeof(Gender), "Male");

结构
就是小类,值类型
不能继承类
可以实现接口
不能有显示无参构造函数(隐式)

结构中不能给字段赋初始值

ref与out

1、使用ref型参数时,传入的参数必须先被初始化。对out而言,必须在方法中对其完成初始化。 
2、使用ref和out时,在方法的参数和执行方法时,都要加ref或out关键字。以满足匹配。 
3、out适合用在需要retrun多个返回值的地方,而ref则用在需要被调用的方法修改调用者的引用的时候。

ref :可进可出,要赋初值

out :只出 不进  可以没有初值

C#基础精华02(静态类,值类型,引用类型,枚举,结构,ref与out)的更多相关文章

  1. C#基础加强(3)之值、引用类型及结构体

    值.引用类型 介绍 引用类型派生自 System.Object ,而值类型均隐式派生自 System.ValueType . 其实 System.ValueType 也是继承自 System.Obje ...

  2. 30天C#基础巩固-----值类型/引用类型,泛型,空合并操作符(??),匿名方法

    一:值类型/引用类型的区别      值类型主要包括简单类型,枚举类型,和结构体类型等,值类型的实例通常被分配在线程堆栈上面变量保存的内容是实例数据本身.引用类型被分配在托管堆上,变量保存的是地址.引 ...

  3. C#基础(六)——值类型与引用类型

    CLR支持两种类型:值类型和引用类型. 值类型包括C#的基本类型(用关键字int.char.float等来声明),结构(用struct关键字声明的类型),枚举(用enum关键字声明的类型):而引用类型 ...

  4. 数往知来C#之接口 值类型与引用类型 静态非静态 异常处理 GC垃圾回收 值类型引用类型内存分配<四>

    C# 基础接口篇 一.多态复习 使用个new来实现,使用virtual与override    -->new隐藏父类方法 根据当前类型,电泳对应的方法(成员)    -->override ...

  5. js的基础(平民理解的执行上下文/调用堆栈/内存栈/值类型/引用类型)

    与以前的切图比较,现在的前端开发对js的要求似乎越来越高,在开发中,我们不仅仅是要知道如何运用现有的框架(react/vue/ng), 而且我们对一些基础的知识的依赖越来越大. 现在我们就用平民的方法 ...

  6. c#基础语言编程-按值类型和引用类型传递参数

    引言 在介绍传递参数介绍前,请明白参数类型和传递方式是不同的.传递方式分为按值类型和引用类型传递参数.参数类型有值类型和引用类型,这个和C++是不同的.这里的传递方式对应c++中的深复制和浅复制. 两 ...

  7. 深入C#内存管理来分析值类型&引用类型,装箱&拆箱,堆栈几个概念组合之间的区别

    C#初学者经常被问的几道辨析题,值类型与引用类型,装箱与拆箱,堆栈,这几个概念组合之间区别,看完此篇应该可以解惑. 俗话说,用思想编程的是文艺程序猿,用经验编程的是普通程序猿,用复制粘贴编程的是2B程 ...

  8. JAVASCRIPT数据类型(值类型-引用类型-类型总览)

    值类型:也称为原始数据或原始值(primitive value). 这类值存储在栈(stack)中,栈是内存中一种特殊的数据结构,也称为线性表,栈按照后进先出的原则存储数据,先进入的数据被压入栈底,最 ...

  9. 6个重要的.NET概念:栈,堆,值类型,引用类型,装箱,拆箱

    引言 本篇文章主要介绍.NET中6个重要的概念:栈,堆,值类型,引用类型,装箱,拆箱.文章开始介绍当你声明一个变量时,编译器内部发生了什么,然后介绍两个重要的概念:栈和堆:最后介绍值类型和引用类型,并 ...

随机推荐

  1. Session 的配置和特性

    session的配置 对于session的配置是php.ini中配置 session数据都是保存在文本文件中 设置session文件的保存位置 说明:     默认是保存在windows/temp目录 ...

  2. nutch安装配置

    http://nlp.solutions.asia/?p=180 http://www.promenade.me/archives/146 环境 ubuntu 12.04 sql建表 CREATE D ...

  3. 【原】Oracle查询指定表里的触发器

    select * from all_triggers WHERE table_name='表名'

  4. Node.Js之【Stream 之复制文件问题】

    var fs = require('fs'), path = require('path'), out = process.stdout; var filePath = 'F:/IMG_0221.MO ...

  5. PHP7 新特性 简介

    整理了一些常用的新特性,欢迎点赞!!! 新增操作符 1.?? $username = $_GET['user'] ?? ''; $username = isset($_GET['user']) ? $ ...

  6. what is WLAN ? when and why we need use it ?

    无线局域网络(Wireless Local Area Networks: WLAN)是相当便利的数据传输系统,它利用射频(Radio Frequency: RF)的技术,取代旧式碍手碍脚的双绞铜线(C ...

  7. Android笔记——Bitmap自动取色(纯搬运)

    2015/6/12更新:发现一个更好的,带demo https://github.com/MichaelEvans/ColorArt 说明: 这个是一个老外写的自动自动从bitmap中取主色与第二主色 ...

  8. 十一、mysql输入安全

    .尽量使用“绑定参数”功能,php中可用pdo进行一系列操作 .php可使用mysql_real_escape_string()函数进行输入过滤:

  9. javascript高级编程笔记05(面向对象)

    面向对象设计 es中有两种属性:数据属性和访问器属性 数据属性: 数据属性包含一个数据值的位置,在这个位置可以读取和写入值,数据属性有4个描述其行为的特性 [[Configurable]]:表示能否通 ...

  10. selenium + python网页自动化测试环境搭建

    1.python的安装 ,这个不解释,exe文件运行安装即可,既然你选择python,相信你是熟悉python的,我安装目录C:\Python27 2.setuptools 的安装也非常简单,同样是e ...