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 ...
随机推荐
- 实现mysql的读写分离(mysql-proxy)____2
mysql-proxy简介 MySQL读写分离是指让master处理写操作,让slave处理读操作,非常适用于读操作量比较大的场景,可减轻master的压力. 使用mysql-proxy实现mysql ...
- unicode欺骗—— hctf - admin
查看源代码,发现<!-- you are not admin --> 提示要以管理员身份登陆 尝试注册管理员账号,提示The username has been registered 于是 ...
- unity序列化
什么是序列化 unity的序列化在unity的开发中起着举重足轻的地位,许多核心的功能都是基于序列化和反序列化来实现的.序列化简单来讲就是就是将我们所要保存的数据进行二进制存储,然后当我们需要的时候, ...
- Excel自动语音点名-视频教学
请看2019年9月5日发布的第一篇推文. 标题:Excel自动语音点名-视频教学. 如果是笔记本的话, 要连接音频线进行扩音. 效果非常好. 测试了下, 11个人, 用了27秒. 可以休息下喉咙啦.. ...
- crc64
oss2\models.py class PartInfo(object): """表示分片信息的文件. 该文件既用于 :func:`list_parts < ...
- MySQL可传输表空间:将一个表从一个实例拷贝到另一个实例
MySQL版本:5.7.23 1.在源实例上,创建一个表(如果不存在): mysql> USE abce; mysql> CREATE TABLE t(c1 INT) ENGINE=Inn ...
- wms证书异常问题
目前我司已定位到两个原因,详细如下, 1. 快速生成的证书存在问题,导致APACHE和NGINX显示的时间都是4号凌晨 2. 贵司在配置完成162和163两台应用的APACHE证书,以及其中10. ...
- python 使用 elasticsearch 常用方法(聚合)
#记录聚合查询方法 from elasticsearch import Elasticsearch es = Elasticsearch(['xx.xx.xx.xx:9200']) #获取最小的年龄r ...
- (原)ffmpeg中filter开发过程遇到的坑<一>
最近在使用ffmpeg开发了一些滤镜filter功能,中间出现一些问题,今天想把这部分的内容整理为笔记,方便以后遇到同样问题的时候,方便翻阅. author:lihaiping1603@aliyun. ...
- dotnet core swagger filter 隐藏接口和显示枚举描述
dotnet core 2.2开发项目中,常会使用Swagger UI来生成在线Api文档. 某些接口不想放到Swagger中可以这样写Filter: /// <summary> /// ...