C#
 Computer >> コンピューター >  >> プログラミング >> C#

C#での読み取り専用キーワードとconstキーワードの違い


読み取り専用キーワード

readonlyキーワードは、宣言中またはコンストラクターで宣言後に1回割り当てることができる変数を定義するために使用されます。 constキーワードは、プログラムで使用される定数を定義するために使用されます。以下は、C#での読み取り専用キーワードとconstキーワードの有効な使用法です。

using System.IO;
using System;

public class Program {
   public const int VALUE = 10;
   public readonly int value1;

   Program(int value){
      value1 = value;
   }
   public static void Main() {
      Console.WriteLine(VALUE);
      Program p1 = new Program(11);
      Console.WriteLine(p1.value1);
   }
}

出力

10
11

以下は、読み取り専用キーワードとconstキーワードの重要な違いの一部です。

読み取り専用キーワード
Sr。いいえ。 キー constキーワード
1 目的 readonlyキーワードは、読み取り専用フィールドを作成するために使用されます。 constキーワードは、定数フィールドを作成するために使用されます。
2 タイプ readonlyは、実行時に定義される定数です。 constは、コンパイル時に定数を作成するために使用されます。
3 変更 読み取り専用フィールドの値は、宣言後に変更できます。 constフィールドの値は宣言後に変更できません。
4 メソッド 読み取り専用フィールドをメソッド内で定義することはできません。 constフィールドはメソッド内で宣言できます。
5 値の割り当て 読み取り専用変数はインスタンス変数として宣言され、コンストラクターで値が割り当てられます。 constフィールドは宣言時に割り当てられます。

  1. GoとJavaの違い。

    行く Goは手続き型プログラミング言語です。プログラムはパッケージを使用して組み立てられます。動的言語に似たパターンを採用する環境をサポートします。 Java Javaはオブジェクト指向プログラミング言語です。 Javaは静かで高速、信頼性が高く、安全です。最も広く使用されている言語でもあります。 GoとJavaの重要な違いは次のとおりです。 Sr。いいえ。 キー 移動 Java 1 タイプ Goは手続き型プログラミング言語であり、動的言語と同様のパターンをサポートしています。 Javaはオブジェクト指向プログラミング言語です。 2 クラスのサポート

  2. Javaでの揮発性と一時的な違い

    volatileキーワードは、2つのスレッドが同じ変数を同時に読み書きするマルチスレッド環境で使用されます。 volatileキーワードは、CPUキャッシュではなく、変更をメインメモリに直接フラッシュします。 一方、transientキーワードは、シリアル化中に使用されます。一時としてマークされたフィールドは、シリアル化および逆シリアル化の一部にすることはできません。変数の値を保存したくない場合は、その変数で一時的なキーワードを使用します。 Sr。いいえ。 キー 揮発性 一時的 1 基本 Volatileキーワードは、変更をメインメモリに直接フラッシュするために