private 关键字是一个成员访问修饰符。
private 访问是允许的最低访问级别。private 成员只有在声明它们的类和结构体中才是可访问的,如以下示例所示:
class LeiSY
{
private int _数量;
double _单价; // 未指定访问修饰符默认是 private
}
static void Main ( )
{
LeiSY sy = new ( );
……
}
上例中 sy 对象以及在 Main 中使用 LeiSY 的静态方式均无法访问 LeiSY 的“_数量”和“_单价”成员。但在 LeiSY 内部是可以访问的。
同一体中的嵌套类型也可以访问那些私有成员。
在声明私有成员的类或结构外引用它会导致编译时错误。
示例
{
static void Main(string[] args)
{
double Ben = 10000;
LeiSY sy = new ( "羊肉", 160 , 32.5 );
Console . WriteLine ( sy );
Ben -= sy . _总价;
Console . WriteLine ( $"还剩下:{Ben}" );
}
}
class LeiSY
{
string _商品名;
private readonly int _数量;
readonly double _单价;
public double _总价
{
get => _单价 * _数量;
}
public LeiSY ( string 商品名 , int 数量 , double 单价 )
{
_商品名 = 商品名;
_数量 = 数量;
_单价 = 单价;
}
public override string ToString ( )
{
return $"商品:{_商品名}(单价:{_单价};数量:{_数量});总价值:{_总价}";
}
}
上例中,在 LeiSY 内部,private 的变量均可被赋值和使用。只有构造函数和 _总价 字段以及 ToString 方法是公开的(public)。在 Main 方法中,你可以调用所有的 public 成员,无法调用 private 成员。当你带着 ¥10,000 去肉联厂进羊肉,上例就给你指示你花了多少,剩下多少。
如果把 _总价 设置为 private,则 Main 方法中无法使用该字段计算。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。