c#中访问修饰符public、private、protected、internal的区别

本文详细介绍了C#中的访问修饰符,包括public、private、protected和internal,并通过生动的例子帮助理解这些修饰符的作用范围。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    代码的书写需要一定的规范和结构,按照一定的框架去写的,先说一下编写代码最开始的那句话是什么意思,比如

  public static int[] BubbleSort(int[] list)

  公共的 静态的 返回值类型 函数名(参数类型 参数名)


1,“公共的”说明这个函数可由定义它的类之外的地方访问到、调用到。

2,“静态的”说明这个函数被调用的时候,无需为定义它的类创建一个实际对像。

3,“函数名”是调用这个方法要输入的名称。

4,返回值是调用方法后得到的值,参数则是调用方法需要输入的值。

5,这里,返回值和参数值都是int[]类型,就是“整数数组”类型。

6,返回值可以赋给其他变量,这个变量名字现在我们不知道所以不会有返回值名字。但是参数作为输入,有类型int[]以外还要有个自己的名字,这里就是list,这样我们才好使用它。

    最开始的那个单词public就是访问修饰符,所有类型和类型成员都具有可访问性级别,用来控制是否可以在您程序集的其他代码中或其他程序集中使用它们。 可使用一下访问修饰符指定声明类型或成员时类型或成员的可访问性。c#中的访问修饰符大概分为以下四种。


   public


   同一程序集中的任何其他代码或引用该程序集的其他程序集都可以访问该类型或成员。


   
private


   只有同一类或结构中的代码可以访问该类型或成员。


 
 protected


   只有同一类或结构或者此类的派生类中的代码才可以访问的类型或成员。


   
internal


   同一程序集中的任何代码都可以访问该类型或成员,但其他程序集中的代码不可以



举个栗子:

比如说:一个人A为父类,他的儿子B,妻子C,私生子D(注:D不在他家里)
如果我们给A的事情增加修饰符:
public事件,地球人都知道,全公开
protected事件,A,B,D知道(A和他的所有儿子知道,妻子C不知道)
private事件,只有A知道(隐私?心事?)
internal事件,A,B,C知道(A家里人都知道,私生子D不知道)

还有需要注意的是:

1,命名空间上不允许使用访问修饰符。命名空间没有访问限制。 
2,一个成员或类型只能有一个访问修饰符,使用 protectedinternal 组合时除外
3,assembly中的class默认访问修饰符为internal
4,类中的字段默认为private
5,类中的方法默认为private,包括构造函数


 




评论 27
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值