C#学習日記20----staticな静的変数と定数
前回の記事「デリゲート(デリゲート)の型」では、パブリックメソッドを定義する際にstaticキーワードを使用していたため、object.method名の形式でこのメソッドにアクセスできなくなりました。この記事では、について詳しく学びます。静的な静的変数。
変数:
静的静的変数を学習する前に、変数の意味を理解する必要があります。プログラムは、データの読み取り、書き込み、計算などの操作を実行する必要があります。ユーザーの観点から見ると、変数は情報を記述するために使用される名前です。変数には、人の名前、チケットの価格など、さまざまな種類の情報を保存できます。コンピュータの観点からは、変数は、その変数の種類、および種類を表します。値は変数に格納されます。変数を使用する場合の重要な原則は、変数は最初に定義してから使用する必要があるということです。
C# での変数の定義と使用ルールは C/C++ のルールと似ているため、ここでは詳しく説明しません (そのため、C をよく学ぶことが非常に重要です^_^)
static Static変数:
静的変更あり 静的変数で宣言された変数は、静的変数が属するクラスがロードされると、そのクラスを含むプログラムが終了するまで存在します。 static には 2 つの主なプロパティがあります:
1. 非表示:
クラス内で定義された静的メソッドまたは静的変数は、そのクラスのオブジェクトではなく、クラス自体に属します。静的として定義されたメソッドを呼び出すには、メソッドの前にクラス名を付ける必要があります。 (パブリック アクセスの変更も機能しません。その理由は前の記事の最後にあります) インスタンス メソッドは、クラスのインスタンスを通じて使用する必要があります。インスタンス メソッドは、クラスの静的メンバーだけでなく、クラスの非静的メンバーも使用できます。
アクセス ルール:
静的メソッドはクラスの静的メンバーにのみアクセスできますが、クラスの非静的メンバーにはアクセスできません。
非静的メソッドはクラスの静的メンバーとクラスの非静的メンバーの両方にアクセスできます。 ;
静的メソッドは使用できません インスタンスを呼び出すには、クラス名を使用してのみ呼び出すことができます。
たとえば、次の例では:
class person { public static int i; //定义一个静态变量i 默认值是0 public int k=0; //定义一个非静态变量 k; public static int sbu() // 定义一个静态方法 { i = 9; //成功对静态变量赋值 k = 5; //出错了,无法访问非静态变量 return k; //综上静态方法只能访问静态变量 } public int Add() //定义一个实例方法 { i = 9; //对静态变量赋值没有问题 k = 5; //对非静态变量赋值也没问题 return i; //综上实例方法能够访问所有类型变量 } }
メソッドにアクセスするために人物とオブジェクトをインスタンス化します:
static void Main(string[] args) { person per = new person(); //实例化一个对象per int i = per.i; //出错了,per访问不了类里的静态变量 int k = per.k; //没有问题 per.sbu(); //出错了,per访问不了静态方法 person.sbu(); //成功调用 per.Add(); //成功调用 person.Add(); //出错了,person访问不了实例方法 }
2. 変数の内容を永続的に保持します:
静的データ領域に格納される変数は次のようになります。プログラムの実行開始時に静的データ領域に格納されます。初期化が完了すると、初期化も完了します。これも初期化のみです。静的記憶領域に格納される変数には、グローバル変数と静的変数の 2 種類がありますが、静的変数はグローバル変数と比較して、変数の表示範囲を制御できます。
例を書くだけでわかります(今回はC++で書きました)C# メソッド内でstaticを使用することは許可されていません:
#include<iostream> using namespace std; int main() { for (int i=0;i<4;i++) { static int k =0; //定义一个静态变量并赋值为0 k++; cout<<k<<endl; //输出 } return 0; }
結果:
上記のコードでstaticを削除した場合, thenk=0 ; は非静的変数になり、結果は数値 1 のみになります。定数の型は、任意の値型または参照型にすることができます。定数の宣言とは、プログラム内で使用する定数名とその値を宣言することです。 (使い方もCと似ています) ただし、C#では一度定義した定数の値は変更できません
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace demo { class Program { const int S = 9; // 定义一个常量S并赋值 static void Main(string[] args) { S += 4; //出错了,常量一旦定义就不能改变常量的值 Console.WriteLine(S); } } }
以上がC#学習日記20----static静的変数と定数 関連内容です。 、PHP 中国語ネット (www.php.cn) に注目してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









PHP 関数の静的変数メカニズムにより、変数は関数呼び出し間で値を保持できるため、次の機能が実現されます: 関数呼び出し間の状態の保持。重複した変数の作成は避けてください。コードを簡素化します。

C 言語における static の役割と使用法: 1. 変数スコープ; 2. ライフサイクル; 3. 内部関数; 4. グローバル変数の変更; 5. 関数の変更; 6. その他の用途; 詳細な紹介: 1. 変数スコープの場合変数の前に static キーワードがある場合、変数のスコープは、変数が宣言されているファイルに制限されます。言い換えると、変数は「ファイル レベルのスコープ」であり、「」の発生を防ぐのに非常に役立ちます。変数の重複定義問題; 2. ライフサイクル、静的変数はプログラム実行開始時に一度初期化され、プログラム終了時に破棄されるなど。

1. static まず次のプログラムを見てください: publicclassHello{publicstaticvoidmain(String[]args){//(1)System.out.println("Hello, world!");//(2)}}セグメント プログラムは、Java を学習したことのあるほとんどの人には馴染みのあるものです。 Java を学習したことがなくても、C などの他の高級言語を学習したことがある場合でも、このコードの意味は理解できるはずです。これは単に「Hello, world」を出力するだけであり、他に用途はありませんが、静的キーワードの主な目的を示しています。

C 言語の static キーワードの実践的な応用シナリオと使用スキル 1. 概要 static は C 言語のキーワードであり、変数や関数を変更するために使用されます。その機能は、プログラムの実行中にライフサイクルと可視性を変更し、変数と関数を静的にすることです。この記事では、static キーワードの実際のアプリケーション シナリオと使用テクニックを紹介し、具体的なコード例を通じて説明します。 2. 静的変数により変数のライフ サイクルが延長される static キーワードを使用してローカル変数を変更すると、変数のライフ サイクルを延長できます。

static の機能: 1. 変数; 2. メソッド; 3. クラス; 4. その他の用途; 5. マルチスレッド環境; 6. パフォーマンスの最適化; 7. シングルトン モード; 8. 定数; 9. ローカル変数; 10.メモリ レイアウトの最適化; 11. 繰り返しの初期化を避ける; 12. 関数で使用する。詳細な紹介: 1. 変数、静的変数 変数が静的として宣言されると、その変数はインスタンス レベルではなくクラス レベルに属します。つまり、オブジェクトがいくつ作成されても、静的変数は 1 つだけ存在し、すべてのオブジェクトが存在します。この静的変数などを共有します。

修飾子abstract (abstract) 1. 抽象はクラスを変更できる (1) 抽象によって変更されたクラスを抽象クラスと呼びます (2) 構文: abstractclass クラス名 {} (3) 特徴: 抽象クラスは個別にオブジェクトを作成できませんが、オブジェクトを作成することはできます。宣言される 抽象クラス名の参照名を参照する (4) 抽象クラスはメンバ変数とメンバ メソッドを定義できる (5) 抽象クラスにはコンストラクタがある サブクラス オブジェクトの作成に使用される場合、jvm はデフォルトで親クラス オブジェクトを作成する;抽象コンストラクタ メソッドが適用されるjvm が親クラス オブジェクトを作成するときに適用されます。 2. Abstract はメソッドを変更できる (1) asbtract によって変更されたメソッドを抽象メソッドと呼びます (2) 構文: アクセス修飾子の抽象戻り値

Springboot は pro ファイルを読み取り、静的静的変数 mailConfig.properties#サーバー mail.host=smtp.qq.com#ポート番号 mail.port=587#電子メール アカウント mail.userName=hzy_daybreak_lc@foxmail.com#電子メール認証コード mail を挿入します。 passWord =vxbkycyjkceocbdc#遅延時間 mail.timeout=25000#送信者 mail.emailForm=hzy_daybreak_lc@foxmail.com#送信者 mai

php static static メソッドの「static」は、クラスをインスタンス化せずにこれらのプロパティとメソッドを直接呼び出すことができることを意味します。static は、クラスのプロパティとメソッドを変更するために使用されるキーワードであり、その使用構文は「class Foo { public static $my_static = 'hello';}"。
