ホームページ バックエンド開発 C#.Net チュートリアル プロパティとインデクサーを使用して C# のコードを簡素化する方法

プロパティとインデクサーを使用して C# のコードを簡素化する方法

Oct 08, 2023 pm 06:49 PM
属性 コードを簡略化する インデクサ

プロパティとインデクサーを使用して C# のコードを簡素化する方法

プロパティとインデクサーを使用して C のコードを簡素化する方法

#C# では、プロパティとインデクサーは、コードを簡素化し、コードの可読性を向上させるのに役立つ 2 つの強力な言語機能です。そして柔軟性。この記事では、プロパティとインデクサーを使用してコードを簡素化する方法について説明し、いくつかの具体的なコード例を示します。

1. 属性

属性は、クラス オブジェクトへのアクセスと設定に使用される特別なメンバーです。属性を通じて、クラスの内部フィールドへのアクセスをカプセル化し、クラス データにアクセスするためのより直観的かつ安全な方法を提供できます。以下に例を示します。

public class Person
{
    private string name;

    public string Name
    {
        get { return name; }
        set { name = value; }
    }
}
ログイン後にコピー

上の例では、プライベート フィールド name にアクセスして設定するために、Name という名前のプロパティを定義しました。属性を使用すると、次の方法で name の値にアクセスして設定できます:

Person person = new Person();
person.Name = "Alice";
Console.WriteLine(person.Name);  // 输出:Alice
ログイン後にコピー

属性を使用すると、入力などのフィールドの取得と設定のプロセスに追加のロジックを追加できます。値が検証されて処理されます。以下に例を示します。

public class Person
{
    private int age;
    
    public int Age
    {
        get { return age; }
        set
        {
            if (value >= 0 && value <= 120)
                age = value;
            else
                throw new ArgumentOutOfRangeException("Age must be between 0 and 120.");
        }
    }
}
ログイン後にコピー

上の例では、年齢フィールドを検証して、年齢が法定範囲内であることを確認しました。設定値が範囲外の場合は例外がスローされます。

2. インデクサー

インデクサーは、配列のような方法でオブジェクト内の要素にアクセスして設定できるようにする特別なプロパティです。インデクサーを使用すると、クラスのインスタンスへの配列のようなアクセスが可能になります。これは、セットやリストなどのデータ構造を操作する場合に便利です。以下に例を示します。

public class Students
{
    private List<string> names;

    public Students()
    {
        names = new List<string>();
    }

    public string this[int index]
    {
        get
        {
            if (index >= 0 && index < names.Count)
                return names[index];
            else
                throw new IndexOutOfRangeException("Invalid index.");
        }
        set 
        {
            if (index >= 0 && index < names.Count)
                names[index] = value;
            else if (index == names.Count)
                names.Add(value);
            else
                throw new IndexOutOfRangeException("Invalid index.");
        }
    }
}
ログイン後にコピー

上の例では、Students という名前のクラスを定義し、そのインデクサーを定義しました。インデクサーを介して、添え字を通じて Students クラスの要素にアクセスし、設定することができます。例:

Students students = new Students();
students[0] = "Alice";
students[1] = "Bob";
Console.WriteLine(students[0]);  // 输出:Alice
Console.WriteLine(students[1]);  // 输出:Bob
ログイン後にコピー

インデクサーを使用すると、配列のようなアクセスが可能になり、コードがより簡潔で理解しやすくなります。

概要:

プロパティとインデクサーは、コードを簡素化するための C# の重要な機能です。プロパティを使用すると、より直観的かつ安全にオブジェクトのデータにアクセスして設定できます。インデクサーは、配列のような方法でオブジェクト内の要素にアクセスして設定するのに役立ちます。属性とインデクサーを適切に使用することで、コードをより簡潔で読みやすくすると同時に、コードの柔軟性と保守性も向上させることができます。

以上がプロパティとインデクサーを使用して C# のコードを簡素化する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

SyntaxErrorを発生させずにPythonで整数リテラルプロパティを取得する方法は? SyntaxErrorを発生させずにPythonで整数リテラルプロパティを取得する方法は? Aug 20, 2023 pm 07:13 PM

SyntaxError の代わりに intliteral 属性を取得するには、スペースまたは括弧を使用します。intliteral は Python の数値リテラルの一部です。数値リテラルには、次の 4 つの異なる数値型も含まれます。int(signed integers) - これらは、単に整数または整数と呼ばれることが多く、正の値です。

JavaでGsonを使用してJSONのプロパティの名前を変更するにはどうすればよいですか? JavaでGsonを使用してJSONのプロパティの名前を変更するにはどうすればよいですか? Aug 27, 2023 pm 02:01 PM

Gson@SerializedName アノテーションは JSON にシリアル化でき、指定された名前の値をフィールド名として持つことができます。このアノテーションは、Gson インスタンスに設定されているデフォルトのフィールド命名ポリシーを含む、あらゆる FieldNamingPolicy をオーバーライドできます。 GsonBuilder クラスを使用して、さまざまな命名戦略を設定できます。構文@Retention(value=RUNTIME)@Target(value={FIELD,METHOD})public@interfaceSerializedNameExample importcom.google.gson.annotations.*;

Python の dir() 関数: オブジェクトのプロパティとメソッドを表示する Python の dir() 関数: オブジェクトのプロパティとメソッドを表示する Nov 18, 2023 pm 01:45 PM

Python の dir() 関数: オブジェクトのプロパティとメソッドを表示します。特定のコード サンプルが必要です。 要約: Python は強力で柔軟なプログラミング言語であり、その組み込み関数とツールは開発者に多くの便利な機能を提供します。非常に便利な関数の 1 つは dir() 関数です。これを使用すると、オブジェクトのプロパティとメソッドを表示できます。この記事では、 dir() 関数の使用法を紹介し、具体的なコード例を通じてその機能と使用法を示します。テキスト: Python の dir() 関数は組み込み関数です。

Win11 ディスクのプロパティが不明な場合の対処方法 Win11 ディスクのプロパティが不明な場合の対処方法 Jul 03, 2023 pm 04:17 PM

Win11のディスクプロパティが不明な場合はどうすればよいですか?最近、Win11 ユーザーは、コンピュータを使用しているときにシステムによってディスク エラーが発生していることに気付きました。何が起こっているのでしょうか?そしてそれをどうやって解決するのでしょうか?詳細な操作方法を知らない友人も多いと思いますが、Win11 のディスク エラーを解決する手順をエディターが以下にまとめましたので、興味がある方はエディターをフォローして以下をお読みください。 Win11 ディスク エラーを解決する手順 1. まず、キーボードの Win+E キーの組み合わせを押すか、タスクバーのファイル エクスプローラーをクリックします; 2. ファイル エクスプローラーの右側のサイドバーで、側面を見つけてローカル ファイルを右クリックしますディスク (C:)、開いたメニュー項目で [プロパティ] を選択します; 3. ローカル ディスク (C:) の [プロパティ] ウィンドウ、[ツール] に切り替えます。

CSSのbottom属性構文 CSSのbottom属性構文 Feb 21, 2024 pm 03:30 PM

CSS の Bottom 属性の構文とコード例 CSS では、bottom 属性は要素とコンテナの下部の間の距離を指定するために使用されます。親要素の下部を基準とした要素の位置を制御します。ボトム属性の構文は次のとおりです: element{bottom:value;} ここで、element はスタイルが適用される要素を表し、value は設定されるボトム値を表します。 value にはピクセルなどの特定の長さの値を指定できます

Vue.set関数を使用して属性を動的に追加する方法と例 Vue.set関数を使用して属性を動的に追加する方法と例 Jul 24, 2023 pm 07:22 PM

Vue.set 関数を使用してプロパティを動的に追加する方法と例 Vue では、既存のオブジェクトにプロパティを動的に追加する場合、通常は Vue.set 関数を使用します。 Vue.set 関数は Vue.js によって提供されるグローバル メソッドであり、プロパティを追加するときに確実に応答性の高い更新を行うことができます。この記事では、Vue.set の使用方法を紹介し、具体的な例を示します。まず、Vue では通常、data オプションを使用してレスポンシブ データを宣言します。

ハースストーンの絶望の糸の属性の紹介 ハースストーンの絶望の糸の属性の紹介 Mar 20, 2024 pm 10:36 PM

絶望の糸はBlizzard Entertainmentの名作『ハースストーン』に登場するレアカードで、カードパック「ウィズベインのワークショップ」で入手できるチャンスがあります。 100/400の秘術ダストポイントを消費して、ノーマル/ゴールドバージョンを合成できます。ハースストーンの絶望の糸の属性の紹介: ウィズベインのワークショップ カード パックで確率で入手できるか、秘術の粉塵を通じて合成することもできます。レアリティ:レア 種類:呪文 クラス:デスナイト マナ:1 効果:すべてのミニオンに断末魔を与える:すべてのミニオンに1ダメージを与える

JavaScript における pageXOffset 属性の役割は何ですか? JavaScript における pageXOffset 属性の役割は何ですか? Sep 16, 2023 am 09:17 AM

ウィンドウの左上隅からドキュメントがスクロールされるピクセルを取得する場合は、pageXoffset プロパティと pageYoffset プロパティを使用します。水平ピクセルには pageXoffset を使用します。例 次のコードを実行して、JavaScript で pageXOffset 属性を使用する方法を学習できます - ライブ デモンストレーション<!DOCTYPEhtml><html> <head> <style> &amp

See all articles