C#各种字段类型对比
一、常量、只读字段、静态字段和静态只读字段对比
public class ModelClass
{
//常量在定义时必须赋初始值
//public const string constField;
public const string constField = "常量";
public readonly string readField = "只读字段";
public static string staticField = "静态字段";
public static readonly string staticReadField = "静态只读字段"; public ModelClass()
{
//常量的值在编译时就必须知道,而构造函数在运行时才执行,所以常量不能通过构造函数赋初值;而只读字段的值可以在运行时才决定。
//constField = "不能在构造函数中初始化常量";
readField = "构造函数初始化只读字段";
}
static ModelClass()
{
//constField = "不能在静态构造函数中初始化常量";
staticField = "静态构造函数初始化静态字段";
staticReadField = "静态构造函数初始化静态只读字段";
} public string Method()
{
//在方法中定义常量并使用
const string constLocal = "局部常量";
string result = constLocal;
return result;
//readonly和static都不能在方法中使用
}
public static string StaticMethod()
{
//在静态方法中定义常量并使用
const string constLocal = "局部常量";
string result = constLocal;
return result;
//readonly和static都不能在静态方法中使用
}
}
public class RealizeObject
{
public void Realize()
{
//常量、静态字段和静态只读字段是类级别的
string value1 = ModelClass.constField;
string value2 = ModelClass.staticField;
string value3 = ModelClass.staticReadField;
//只读字段是对象级别的
ModelClass model = new ModelClass();
string value4 = model.readField;
//常量、只读字段和静态只读字段的值不能被修改
//ModelClass.constField = "不可以修改常量的值";
//model.readField = "不可以修改只读字段的值";
//ModelClass.staticReadField = "不可以修改静态只读字段的值";
ModelClass.staticField = "可以修改静态字段的值";
}
}
常量、只读字段、静态字段和静态只读字段对比表:

常量、只读字段、静态字段和静态只读字段适用数据:
1、常量适用于定义时就已知且不能改变的数据。
2、只读字段适用于通过第三方在运行时赋值且不能改变的数据(对象独享)。
3、静态只读字段适用于通过第三方在运行时赋值且不能改变的数据(对象共享)。
4、静态字段适用于对象共享的数据。
C#各种字段类型对比的更多相关文章
- db2和oracle字段类型对比
在网上找到一片关于oracle与DB2数据类型的比较,特记下来. Oracle DB2/400 Oracle数据类型 注意事项 DB2 UDB数据类型 注意事项 DATE DATETIMETIMEST ...
- MySQL 常用字段类型,介绍及其建表使用方法经验分享
由于工作的公司没有专业的DBA又经常需要建立各种各种的表来满足自己的业务逻辑,所以经常查看MySQL 手册或者谷歌查看相关资料,所以本人就根据我的工作经验和相关资料来介绍一下MySQL各种字段类型及其 ...
- SQL Server 字段类型 decimal(18,6)小数点前是几位?记一次数据库SP的BUG处理
原文:SQL Server 字段类型 decimal(18,6)小数点前是几位?记一次数据库SP的BUG处理 SQL Server 字段类型 decimal(18,6)小数点前是几位? 不可否认,这是 ...
- odoo开发基础--模型之基本字段类型
定义模型的时候,和python的其他框架类似,可以对比Django,同样是一个模型即:一个class对应生成数据库中的一张表, 只是odoo的继承机制比较复杂一点,在日常的开发中,定义模型的时候, 基 ...
- Django ORM中常用的字段类型以及参数配置
一.数值型 AutoField对应int(11).自增主键,Django Model默认提供,可以被重写. BooleanField对应tinyint(1).布尔类型字段,一般用于记录状态标记. De ...
- Django中的常用字段类型与参数
Django中的常用字段类型 1. 数值型 以下都是数值相关的,比如AutoField,它在MySQL中的类型为int(11),而BooleanField在MySQL中对应的类型是tinyint(1) ...
- Oracle修改字段类型方法总结
有一个表名为tb,字段段名为name,数据类型nchar(20). 1.假设字段数据为空,则不管改为什么字段类型,可以直接执行:alter table tb modify (name nvarchar ...
- 关于SubSonic3.0插件使用SubSonic.Query.Select查询时,字段类型为tinyint时列丢失问题的Bug修复
下午在写代码时,突然发现一个列名为Enable的字段怎么也查询不出来,开始以为可能这个名称是关键字,所以给过滤掉了,所以就将名称修改为IsEnable,问题还是一样......将名称又改为IsEnab ...
- Django model字段类型清单
转载:<Django model字段类型清单> Django 通过 models 实现数据库的创建.修改.删除等操作,本文为模型中一般常用的类型的清单,便于查询和使用: AutoField ...
随机推荐
- 小程序组件--> 组件传参
小程序组件,在components文件夹右击-->创建文件夹-->右击-->新建component即可 创建一个组件 如果多个地方需要使用到,可以在app.json中加入一下代码,相 ...
- 【Beta】Scrum meeting 3
目录 写在前面 进度情况 任务进度表 Beta-1阶段燃尽图 遇到的困难 照片 commit记录截图 小程序前端仓库 技术博客 写在前面 例会时间:5.7 22:30-23:00 例会地点:微信群语音 ...
- ruby-on-rails-BUG
Ruby on Rails errors: (新手期) rails 自动化部署教程 Q1: rvm 无法使用 $ rvm use 1.9.3 --default RVM is not a functi ...
- python测试mysql数据库性能(二)
一,普通写入数据库 二,批量写入数据库 三,普通写入数据库添加事务 config = { 'host': 'localhost', 'port': 3306, 'database': 'test', ...
- Base64编码解码(js)
开源的base64.js,使用很简单,浏览器引入该JS文件,然后Base64编码这样: Base64.encode('china is so nb'); // 编码 "Y2hpbmEgaXM ...
- Chrome提示:"请停用以开发者模式运行的扩展程序"的解决办法
操作步骤 1.开始 -> 运行 -> 输入gpedit.msc -> 回车确定打开计算机本地组策略编辑器(通过Win + R快捷键可以快速打开运行),如图所示: 2.在打开的本地组策 ...
- virtualenv, conda, pip分别是什么
自己一直使用virtualenv,但是发现很多工具或框架都是以来conda,于是就网上搜了下二者的区别,感觉这篇文章讲的比较清楚:https://blog.csdn.net/zhouchen1998/ ...
- python安装 werkzeug
1 pip install werkzeug Werkzeug是一个WSGI工具包,他可以作为一个Web框架的底层库.这里稍微说一下, werkzeug 不是一个web服务器,也不是一个web ...
- 笔记-Git:资源列表
ylbtech-笔记-Git:资源列表 Yahoo!, Facebook, Salesforce, Microsoft, Twitter, Deutsche Telekom, Intuit, Mozi ...
- 浅入深出ETCD之【集群部署与golang客户端使用】
前言 之前说了etcd的简介,命令行使用,一些基本原理.这次来说说现实一点的集群部署和golang版本的客户端使用.因为在实际使用过程中,etcd的节点肯定是需要2N+1个进行部署的,所以有必要说明一 ...