Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/258.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# C语言中的void vs private void#_C#_Private_Void - Fatal编程技术网

C# C语言中的void vs private void#

C# C语言中的void vs private void#,c#,private,void,C#,Private,Void,在C#UI代码中,当我创建事件方法时,它会自动填充 void simpleButton_click(object sender, Eventargs e) { } 这个简单的void和private void有什么区别?没有,它是语法上的。默认情况下,成员为私有,而类型为内部) 通常,人们添加private是为了保持一致性,尤其是在类或类型中有许多其他成员具有不同的访问属性时,例如protectedinternal或public 因此,以下两个文件是等效的: 隐式 Explicit.cs 规则

在C#UI代码中,当我创建事件方法时,它会自动填充

void simpleButton_click(object sender, Eventargs e)
{
}

这个简单的
void
private void
有什么区别?

没有,它是语法上的。默认情况下,成员
私有
,而类型为
内部

通常,人们添加
private
是为了保持一致性,尤其是在类或类型中有许多其他成员具有不同的访问属性时,例如
protectedinternal
public

因此,以下两个文件是等效的:

隐式 Explicit.cs 规则摘要:

  • 默认情况下,直接在
    命名空间
    中定义的类型(
    结构
    枚举
    委托
    接口
    )是
    内部
  • 默认情况下,成员(方法、构造函数、属性、嵌套类型、事件)是私有的,但有两个例外:
    • 运算符重载必须明确标记为
      公共静态
      。如果不提供显式的
      public
      access修饰符,将出现编译错误
    • 接口成员总是
      公共的
      ,您不能提供显式的访问修饰符
  • 在C++中,默认情况下,代码<>代码> >代码>结构> <代码>成员是私下<代码>,不同于C++,代码< >结构> <代码>默认为“代码>公共< /代码>,<>代码>类默认为私下< />代码>
  • 在C#中,没有任何东西是隐式的
    保护的
    保护的内部
  • .NET支持“好友程序集”,其中
    内部
    类型和成员对另一个程序集中的代码可见。C#需要
    [assembly:InternalsVisibleTo]
    属性来实现这一点。这与C++的
    friend
    功能不同(C++的
    friend
    允许
    /
    struct
    列出可以访问其
    私有
    成员的其他类、结构和自由函数)

  • void表示将此代码块或过程标识为方法,否则它不会返回任何值。如果您看到任何类型而不是void,则表示被阻塞的代码或过程是一个函数或属性

    这就是方法

    private void DoSomething()
    {
    ...code
    }
    
    这是函数

    private int DoSomething()
    {
    ..code
    return 1
    }
    
    private表示方法、函数或属性在类外部不可访问,但可以在类内部调用


    public表示方法、函数或属性可在类外部访问,也可在类内部调用

    在本主题中,它列出了未启用访问修饰符时的默认设置(对于类,它可以是
    private
    internal
    ,具体取决于类的声明位置)重要的是要注意,这并非适用于所有情况。类具有默认的内部访问修饰符。这并不能回答这个问题。@Harrison,他的问题是这个简单的void和private void之间有什么区别?请阅读访问修饰符(private)中的内容对于void,请看这个问题是关于是否显式使用private关键字(在这种情况下,对于一个方法,它仍然是private的)。您的答案是关于基于private与public和返回值的可访问性。好的,我不会就此与您争论,但对我来说,如果您了解它的作用,那么差异也会被知道。
    private void DoSomething()
    {
    ...code
    }
    
    private int DoSomething()
    {
    ..code
    return 1
    }