//值类型

C# 类型      .NET Framework 类型

bool            System.Boolean

4Byte 32bit布尔型变量 逻辑值,true或者false,默认值为false

byte            System.Byte

1Byte 8bit无符号整数无符号的字节,所存储的值的范围是0~255,默认值为0

sbyte         System.SByte 1Byte

8bit有符号整数带符号的字节,所存储的值的范围是-128~127,默认值为0

char           System.Char

2Byte 16bit 无符号Unicode字符,默认值为’\0’

decimal      System.Decimal

16Byte 128bit十进制数不遵守四舍五入规则的十进制数,28个有效数字,通常用于财务方面的计算,默认值为0.0m

double       System.Double

8Byte 64bit双精度的浮点类型,默认值为0.0d

float          System.Single

4Byte 32bit单精度的浮点类型,默认值为0.0f

int             System.Int32

4Byte 32bit有符号整数,默认值为0

uint           System.UInt32

4Byte 32bit无符号整数,默认值为0

long          System.Int64

8Byte 64bit有符号整数,默认值为0

ulong        System.UInt64

8Byte 64bit无符号整数,默认值为0

object       System.Object

指向类实例的引用,默认值为null

short        System.Int16

2Byte 16bit有符号整数,默认值为0

ushort       System.UInt16

2Byte 16bit无符号整数,默认值为0

string       System.String

指向字符串对象的引用,默认值为null

//引用类型

引用类型的变量又称为对象,可存储对实际数据的引用。本节介绍以下用于声明引用类型的关键字:

· class

与 C++ 不同,C# 中仅允许单个继承。也就是说,类只能从一个基类继承实现。但是,一个类可以实现一个以上的接口。

一个类可包含下列成员的声明:

构造函数 析构函数 常数 字段 方法 属性 索引器 运算符 事件 委托 类 接口 结构

只有嵌套类允许访问级别 protected 和 private。

· interface

      接口只包含方法、委托或事件的签名,它是一个完全抽象的成员集合,它不是类,与基类有着本质的区别。方法的实现是在实现接口的类中完成的

      接口可以是命名空间或类的成员,并且可以包含下列成员的签名: 方法 属性 索引器 事件

一个接口可从一个或多个基接口继承。

当基类型列表包含基类和接口时,基类必须是列表中的第一项。

实现接口的类可以显式实现该接口的成员。显式实现的成员不能通过类实例访问,而只能通过接口实例访问。

·delegate

      委托类型声明的格式如下:

public delegate void TestDelegate(string message);

delegate 关键字用于声明一个引用类型,该引用类型可用于封装命名方法或匿名方法。委托类似于 C++
中的函数指针;但是,委托是类型安全和可靠的。

委托是事件的基础。

通过将委托与命名方法或匿名方法关联,可以实例化委托。

以下为内置引用类型:

·object

      object 类型在 .NET Framework 中是 Object 的别名。在 C#
的统一类型系统中,所有类型(预定义类型、用户定义类型、引用类型和值类型)都是直接或间接从 Object 继承的。可以将任何类型的值赋给 object
类型的变量。将值类型的变量转换为对象的过程称为“装箱”(Boxed)。将对象类型的变量转换为值类型的过程称为“取消装箱”。

·string

string 类型表示零或更多 Unicode 字符组成的序列。string 是 .NET Framework 中 String 的别名。

尽管 string 是引用类型,但定义相等运算符(== 和 !=)是为了比较 string
对象(而不是引用)的值。这使得对字符串相等性的测试更为直观

c# 基本值类型及其默认值的更多相关文章

  1. C#值类型以及默认值记录下

    C#的值类型有bool,byte,sbyte,decimal,double,float,int,uint,long,string等 如果我们擅长使用默认值,可以帮助我们减少带来赋值及代码编写. 比如我 ...

  2. MySQL语句增加字段,修改字段名,修改类型,修改默认值

    原文地址:https://blog.csdn.net/kimgoo/article/details/54630257 增加字段:alter table 表名 ADD 字段 类型 约束 [默认值 注释] ...

  3. 基于layui,Jquery 表格动态编辑 设置 编辑值为 int 或者 double 类型及默认值

    首先先推荐大家在看这篇笔记时,阅读过我写的这篇 Layui表格编辑[不依赖Layui的动态table加载] 阅读过上面那篇笔记之后呢,才能更好的理解我现在所要说的这个东西 接下来废话不多说,上代码. ...

  4. 关于mysql字段时间类型timestamp默认值为当前时间问题

    今天把应用部署到AWS上发现后台修改内容提交后程序报错,经过排查发现是更新数据的时候,有张数据表中的一个timestamp类型的字段默认值变成了"0000-00-00 00:00:00.00 ...

  5. Sql 语句添加字段、修改字段类型、默认值语法

    Sql 语句添加字段 ,) not null --修改类型 alter Table bbs ) Sql 语句修改默认值 alter table 表名 drop constraint 约束名字 --删除 ...

  6. Swift - 39 - 枚举类型关联默认值

    //: Playground - noun: a place where people can play import UIKit enum Month: Int { // 这么定义, 后面的Feb, ...

  7. java基本类型的默认值

    基本类型 默认值 取值范围 (最大/最小) 字节数 二进制位数 byte 0 127(2^7-1) -128(-2^7) 1byte 8bit short 0 32767(2^15 - 1) -327 ...

  8. 关于Java读取mysql中date类型字段默认值'0000-00-00'的问题

    今天在做项目过程中,查询一个表中数据时总碰到这个问题:      java.sql.SQLException:Value '0000-00-00' can not be represented as ...

  9. 在Sql Server中使用Guid类型的列及设置Guid类型的默认值

    1.列的类型为uniqueidentifier 2.列的默认值可以设为newid()

随机推荐

  1. Innodb之拷贝InnoDB表从一服务器到另一台服务器

    将Innodb类型的表从一台服务器拷贝到另一台服务器,或从一个库拷贝到另一个库. 前提是:innodb_file_per_table =ON. 1 先在目标服务器(库)上创建一个相同的表结构. 如: ...

  2. openURL的使用方法:

    openURL的使用方法: view plaincopy toclipboardprint?        [[UIApplication sharedApplication] openURL:[NS ...

  3. Python内置的HTTP协议服务器SimpleHTTPServer

    [root@ok 6FE5-D831]# python -m SimpleHTTPServer 一条命令,HTTP服务就搭起来了!!! 方便朋友下载,自己的文件!!

  4. DES加密算法实现

    好久没写博客了,正好趁着实现网络工程与安全的DES算法的功夫,把代码发上来. DES的介绍可见:DES加密 原理不赘述了..实在太多,其实就是一个形式化算法,按部就班的实现就可以,只不过有些繁琐,我写 ...

  5. VS2013 当前不会命中断点,还没有为该文档加载任何符号

    方法一: 把ie的 调试 打开,然后调试的时候 会问你 是在新示例中打开 还是 当前示例,你选择当前的就行了.还有 建议你用 ie8.0的 开发者工具 调试  非常舒服 我已经 早就不用debuger ...

  6. maven错误解决一:Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.5.1:compile (default-compile)

    解决方法是将 jre的目录在 window->Preferences 里修改java installed里的jre目录改为jdk目录即可. 原因是在jre目录下不存在tools.jar.

  7. 运维自动化之ansible的安装与使用(包括模块与playbook使用)(转发)

    原文  http://dl528888.blog.51cto.com/2382721/1435415 我使用过puppet(地址是http://dl528888.blog.51cto.com/2382 ...

  8. ASP.NET 5探险(3):使用UMEditor并实现图片上传

    (此文章同时发表在本人微信公众号"dotNET每日精华文章",欢迎右边二维码来关注.) 题记:今天将继续上一篇来讲解百度富文本Web编辑器UEditor或UMEditor的使用. ...

  9. Codeforces Round #161 (Div. 2) D. Cycle in Graph(无向图中找指定长度的简单环)

    题目链接:http://codeforces.com/problemset/problem/263/D 思路:一遍dfs即可,dp[u]表示当前遍历到节点u的长度,对于节点u的邻接点v,如果v没有被访 ...

  10. hdu 3001(状压dp, 3进制)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3001 由于本题中一个点最多能够访问2次,由此可以联想到3进制; visited[i][j]表示在状态i ...