C# オブジェクト初期化子

WBOY
リリース: 2024-09-03 15:06:25
オリジナル
379 人が閲覧しました

C# のオブジェクト初期化子を使用すると、クラス変数に値を割り当てることができます。 C# でオブジェクト初期化子を使用する場合、コンストラクターにクラス メンバー変数の値を割り当てる必要はありません。クラスのインスタンスを作成するときに、変数に値を割り当てることができます。コンストラクターとは異なる構文を持ちます。つまり、これは C# でオブジェクトを初期化するための新しい形式です。次のセクションでは、理解と使用法を高めるために、オブジェクトの初期化とその実装について詳しく説明します。

構文

その名前の通り、C# でクラスのオブジェクトを初期化するために使用されることが示唆されています。それはより簡単で単純化されています。以下を参照して、C# でアプリケーションを作成する際の理解を深め、その使用法を理解するためにその構文を見てみましょう。

Class_name std = new Class_name() {
// indside this we can initialize the object withour using the constructor.
};
ログイン後にコピー

上記の構文でわかるように、クラスのオブジェクトを作成しようとしており、その後にオブジェクトの作成に C# で一般的に使用する新しいキーワードが続きます。その後、「{}」中括弧内のオブジェクトに値を代入しようとします。以下を参照して、初心者がすぐに実装できる練習用構文を 1 つ見てみましょう。

例:

Demo d = new Demo() { name  = "demo sample"
};
ログイン後にコピー

上記の構文行では、プログラミング中にこれを使用する方法を示しました。次のセクションでは、アプリケーションを改善するための内部動作について詳しく説明します。

C# でオブジェクトを初期化する方法

すでにご存知のとおり、オブジェクトの初期化はクラスまたはコレクションのオブジェクトを作成するプロセスですが、これを実際に行うことにはさらにいくつかの利点があります。オブジェクトの作成中に、C# のコンストラクターを使用せずに、値を割り当てたり、クラス変数またはクラス メンバーを初期化したりできます。オブジェクトを作成する方法は同じですが、オブジェクトを初期化する場合、C# では多少異なる構文を使用します。オブジェクトを作成するには、引き続き「new」キーワードを使用します。このセクションでは、オブジェクトの初期化の構文についてさらに詳しく説明します。また、初心者がプログラミング中にこれを活用するための実践例も 1 つあります。

その署名についてさらに詳しく説明しましょう。以下を参照;

署名:

Demo d = new Demo() { name = "dummy name",
roll_num = "200",
city = "some city"
};
ログイン後にコピー

上記のサンプルでは、​​オブジェクトの初期化で行ったいくつかの変更とは別に、「new」キーワードを使用しています。 C# でオブジェクトの初期化を利用するには、次のように定義されているいくつかのルールに従う必要があります。

1. C# で通常行うように、最初に必要なクラスまたはコレクションのオブジェクトを作成する必要があります。 C# で新しいオブジェクトを作成するには、「new」キーワードを使用します。

2. C# でオブジェクトの初期化を実装する場合は、オブジェクトの作成直後にクラス変数に値を代入する必要があります。

3.このためには、C# で中かっこ「{}」を使用する必要があります。これらの {} 中括弧内に、値を与える変数を渡すことができます。オブジェクトの初期化ですべての変数に値を渡したり割り当てたりすることは必須ではありません。それは要件によって異なります。ここでは値を割り当てるためにコンストラクターを使用していないため、ここで強制力を与えています。

4.オブジェクトの初期化により、変数の初期化に必要なコード行も削減されます。また、このためにデフォルトのパラメーター化されたコンストラクターを作成する必要もありません。また、コードが読みやすくなり、行数も減ります。

5.この後、任意のタイプの変数を割り当てることができます。文字列でも数値でも何でも構いません。

6.また、中括弧 {} の最後では、これを機能させるために「;」セミコロンで終了する必要があります。そうしないと、最後に「;」が欠落している、または「;」が必要であるというコンパイル時エラーが発生します。

ここで、初心者向けに内部動作と実際のシナリオでの実装を理解するためのサンプル例を 1 つ示します。以下を参照してください。

例:

public class Employee
{
public int EmployeeId { get; set; }
public string Employeecity { get; set; }
}
class Demo
{
static void Main(string[] args)
{
System.Console.WriteLine();
Employee emp = new Employee() { EmployeeId = 100,
Employeecity = "indore"
};
}
}
ログイン後にコピー

上記の例では、レコードの従業員情報を含む「Employee」という名前のクラスを 1 つ作成しています。この内部では、2 つの変数「EmployeeId」と「Employeecity」をクラス内に保存しています。その後、この変数にアクセスします。 「Demo」という名前のクラスがもう 1 つあり、その中に Main() メソッドが含まれています。このメソッド内では、C# でオブジェクトの初期化を利用しています。これを使用して、上記を参照してクラスの変数を初期化しようとしています。 。その後、それらをデータベースに保存するか、コンソール ログを使用して単に出力することができます。

1. C# のオブジェクト初期化子を使用して従業員データを表示しようとしています。これは初心者が実装を理解するためのサンプル例です。オブジェクト初期化子を使用して、必要な数のオブジェクトを作成し、データを保存できます。

例:

public class Employee
{
public int EmployeeId { get; set; }
public string Employeecity { get; set; }
public int Employeesalary { get; set; }
public string Employeename { get; set; }
public string Employeeaddress { get; set; }
public string Employeedepartment { get; set; }
}
class Demo
{
static void Main(string[] args)
{
System.Console.WriteLine("Demo to show object initializer in C# !!");
Employee emp = new Employee() { EmployeeId = 100,
Employeecity = "indore",
Employeesalary = 15000,
Employeename = "Amit vyas"   ,
Employeeaddress = "1009 strre",
Employeedepartment = "Account"
};
System.Console.WriteLine("Prinitg the values from the object ::::");
System.Console.WriteLine("emp id is:: " + emp.EmployeeId);
System.Console.WriteLine("emp city is:: " + emp.Employeecity);
System.Console.WriteLine("emp salary is:: " + emp.Employeesalary);
System.Console.WriteLine("emp name is:: " + emp.Employeename);
System.Console.WriteLine("emp address is:: " + emp.Employeeaddress);
System.Console.WriteLine("emp department is:: " + emp.Employeedepartment);
}
}
ログイン後にコピー

出力:

C# オブジェクト初期化子

結論

オブジェクトの初期化を使用すると、C# でコンストラクターを使用せずに、単純に変数に値を割り当てることができます。オブジェクトの作成時にのみ値を割り当てることができます。その構文は、コンストラクターのような既存の構文とは少し異なります。これにより、コード行が読みやすく、理解しやすくなります。

以上がC# オブジェクト初期化子の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート