温馨提示×

C#属性与索引器怎样设置默认值

c#
小樊
85
2024-10-24 01:19:22
栏目: 编程语言

在C#中,属性(Property)和索引器(Indexer)都不能直接设置默认值。但是,你可以通过以下方法实现类似的效果:

  1. 对于属性,你可以在类的内部使用一个私有的静态字段来存储默认值,然后在属性的get和set方法中使用这个默认值。这样,当你不显式地为属性赋值时,它将使用默认值。
public class MyClass
{
    private static int _defaultValue = 0;

    public int MyProperty
    {
        get { return _defaultValue; }
        set { _defaultValue = value; }
    }
}
  1. 对于索引器,你可以使用一个私有的静态字段来存储默认值,然后在索引器的get和set方法中使用这个默认值。这样,当你不显式地为索引器赋值时,它将使用默认值。
public class MyClass
{
    private static int[] _defaultValues = new int[10];

    public int this[int index]
    {
        get { return _defaultValues[index]; }
        set { _defaultValues[index] = value; }
    }
}

请注意,这种方法并不是真正的设置默认值,而是在获取属性或索引器值时提供一个默认值。如果你需要在创建类的实例时设置默认值,你可以在构造函数中进行设置。

0