zoukankan      html  css  js  c++  java
  • C# readonly

    MSDN 官方的解释

    readonly 关键字是可以在字段上使用的修饰符。当字段声明包括 readonly 修饰符时,该声明引入的字段赋值只能作为声明的一部分出现,或者出现在同一类的构造函数中.
    我的理解是:
    public class tt
    {
      private readonly int i=5;
    }
    或者
    public class tt
    {
      private readonly int i;
      public tt(int j)
      {
        i=j;
      }
    }
    跟const不一样的地方时:可以在构造函数里面赋值,另外可以支持如DateTime等const不支持的类型。
     
    但是,但是,但是,赋值这件事情对一些集合类型来说相当于new,不等于add、remove,如
    public class tt
    {
      private readonly List<int> items;
      public tt()
      {
        items=new List<int>();
      }
      public Add(int i)
      {
        items.Add(i);//这是允许的
      }
      public void ReNew()
      {
        items=new List<int>();//这是不允许的
      }
    }
    这样做的好处在于可以避免程序在其他地方重新初始化变量(我以为)。
  • 相关阅读:
    MongoDB学习笔记一—简介
    css之定位
    Docker私有仓库1
    Docker安装目录
    Docker 安装完启动服务报错
    Ambari安装组件出错
    Rancher安装使用
    Kettle中spoon.sh在使用时报错
    Kettle jdbc连接hive出现问题
    kettle在linux启动spoon.sh报错
  • 原文地址:https://www.cnblogs.com/catzhou/p/8312945.html
Copyright © 2011-2022 走看看