gpt4 book ai didi

c#设置私有(private)变量的值

转载 作者:太空宇宙 更新时间:2023-11-03 17:25:11 25 4
gpt4 key购买 nike

我正在使用 getter/setter 属性来获取或设置变量 如果我使用公共(public)变量来设置值,我的代码工作正常,因为我正在制作我的类的数组,但我只是想知道如何设置私有(private)的值多变的 。我的代码是

public class Person
{
//getter and setter for each variable
private string _Name;
public string Name
{
get { return _Name;}
set { _Name= value; }
}

private int _Age;
public int Age
{
get {return _Age; }
set { _Age= value; }
}
.... // other properties

// Another Class
public void setValues (Person[] p,int i)
{ p[i].Age= 30;
}

但是如果我将我的设置变量更改为私有(private),如何设置变量??

    private int _Age;
public int Age
{
get {return _Age; }
private set { _Age= value; }
}

最佳答案

如果将 set 方法更改为 private,则无法在类外部设置该属性的值;这就是 private 关键字的全部意义所在。如果您想避免它被公开,我会考虑使用 protectedinternal 关键字。

或者,正如 JNYRanger 所说,您可以从构造函数调用此 setter,这将允许您有效地在当前类“外部”设置该值。

例子:

public class Person 
{
public int Age { get; private set; }

public Person (int age)
{
Age = age;
}
}

关于c#设置私有(private)变量的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18724566/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com