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

PHPz
リリース: 2023-10-08 18:49:52
オリジナル
1118 人が閲覧しました

プロパティとインデクサーを使用して 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 サイトの他の関連記事を参照してください。

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