草庐IT

lldb_private

全部标签

c# - C# 是否需要 private 关键字?

(灵感来自thiscomment)是否有过需要使用private关键字的情况?(换句话说,省略关键字会导致不同行为的情况) 最佳答案 publicclassFoo{publicintBar{get;privateset;}}省略“私有(private)”一词会改变可访问性。 关于c#-C#是否需要private关键字?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/6349269

c# - 公共(public)变量与带有访问器的私有(private)变量

有没有其他人看到人们这样做:privatestring_name;publicstringName{get{return_name;}set{_name=value;}}如果您要对它的设置方式进行某种控制或在获取时对其执行某种功能,我理解使用访问器。但是,如果您只是打算这样做,为什么不直接将变量公开呢?我错过了什么吗? 最佳答案 如果您将成员设置为公共(public)字段,那么您以后不能在不更改类接口(interface)的情况下将其重构为属性。如果从一开始就将其作为属性公开,则可以根据需要对属性访问器函数进行任何更改,并且类的接口

c# - 公共(public)变量与带有访问器的私有(private)变量

有没有其他人看到人们这样做:privatestring_name;publicstringName{get{return_name;}set{_name=value;}}如果您要对它的设置方式进行某种控制或在获取时对其执行某种功能,我理解使用访问器。但是,如果您只是打算这样做,为什么不直接将变量公开呢?我错过了什么吗? 最佳答案 如果您将成员设置为公共(public)字段,那么您以后不能在不更改类接口(interface)的情况下将其重构为属性。如果从一开始就将其作为属性公开,则可以根据需要对属性访问器函数进行任何更改,并且类的接口

C# 私有(private)、静态和只读

我在审查log4net的一些代码时遇到了这个问题。privatestaticreadonlyILoglogger=LogManager.GetLogger(typeof(AdminClient));我想知道为什么你需要有privatestaticreadonly。根据我的理解,private意味着除非有访问器方法或get属性,否则不能在类外使用该变量。static意味着该变量仅在该文件中起作用。readonly意味着您只能读取值而不能分配它。所以,我在想写这段代码的人。将其声明为私有(private)的,因为他们不希望它在类之外使用,而声明为静态的,因此不希望它在文件之外使用。但是,如

C# 私有(private)、静态和只读

我在审查log4net的一些代码时遇到了这个问题。privatestaticreadonlyILoglogger=LogManager.GetLogger(typeof(AdminClient));我想知道为什么你需要有privatestaticreadonly。根据我的理解,private意味着除非有访问器方法或get属性,否则不能在类外使用该变量。static意味着该变量仅在该文件中起作用。readonly意味着您只能读取值而不能分配它。所以,我在想写这段代码的人。将其声明为私有(private)的,因为他们不希望它在类之外使用,而声明为静态的,因此不希望它在文件之外使用。但是,如

c# - 如何判断一个IP地址是否私有(private)?

到目前为止我有这段代码:NetworkInterface[]adapters=NetworkInterface.GetAllNetworkInterfaces();foreach(NetworkInterfaceadapterinadapters){IPInterfacePropertiesproperties=adapter.GetIPProperties();foreach(IPAddressInformationuniCastinproperties.UnicastAddresses){//Ignoreloop-backaddresses&IPv6if(!IPAddress.Is

c# - 如何判断一个IP地址是否私有(private)?

到目前为止我有这段代码:NetworkInterface[]adapters=NetworkInterface.GetAllNetworkInterfaces();foreach(NetworkInterfaceadapterinadapters){IPInterfacePropertiesproperties=adapter.GetIPProperties();foreach(IPAddressInformationuniCastinproperties.UnicastAddresses){//Ignoreloop-backaddresses&IPv6if(!IPAddress.Is

c# - 私有(private)字段的命名约定

首先,我知道这个问题已经被问过好几次了,最后,这主要是个人喜好问题,但是阅读了所有关于这个主题的帖子,有些事情我不太清楚。基本上,大多数人至少同意的一点是公共(public)成员应该是PascalCased,而私有(private)成员应该是lowerCamelCased。通常引起争论的问题是是否在私有(private)成员前加上下划线或其他任何前缀。前缀违反了几个StyleCop规则(虽然很明显可以关闭)不加前缀的理由是你应该使用它。改为前缀。我的问题是我不明白它是如何产生影响的?我的意思是,这并不是说你不能在类里面对公共(public)成员使用它。让我们想象一个Customer类,

c# - 私有(private)字段的命名约定

首先,我知道这个问题已经被问过好几次了,最后,这主要是个人喜好问题,但是阅读了所有关于这个主题的帖子,有些事情我不太清楚。基本上,大多数人至少同意的一点是公共(public)成员应该是PascalCased,而私有(private)成员应该是lowerCamelCased。通常引起争论的问题是是否在私有(private)成员前加上下划线或其他任何前缀。前缀违反了几个StyleCop规则(虽然很明显可以关闭)不加前缀的理由是你应该使用它。改为前缀。我的问题是我不明白它是如何产生影响的?我的意思是,这并不是说你不能在类里面对公共(public)成员使用它。让我们想象一个Customer类,

c# - 为什么私有(private)成员变量可以被类实例改变?

classTestClass{privatestring_privateString="hello";voidChangeData(){TestClassotherTestClass=newTestClass();otherTestClass._privateString="world";}}此代码在C#中编译,等效代码在PHP中运行,但有人可以解释为什么可以在此处更改otherTestClass._privateString的原因吗?我原以为类的实例在任何情况下都不能更改私有(private)成员变量,并且尝试访问otherTestClass._privateString会给出“由于