相关疑难解决方法(0)

C#中`Fields`和`Properties`有什么区别?

根据这些评论编辑:

你的意思是"财产"与"战场"吗?public String S1; vs public String S2 {get; 组; } - 达娜

完全是达娜,我的意思是一样的.- 阿萨德

阿萨德:你真的需要尝试用其他术语来描述你的意思,这样我们才能更好地理解你的问题.C#没有全局变量.您可以在C#中定义的字段不是全局的 - 它们是类类型的成员.- dthorpe

嗨fellas,

需要您对Fieldand 之间差异的专家意见Property.在我的项目中,我使用了某些全局变量,后来我改为"属性".我的经理问的是使用Properties变量代替的好处是什么Fields.

虽然我回复了他Property提供了一种安全/安全/间接访问,Field而不是直接修改它们,如果它们被声明publicprotected.但请给我一些更有说服力的论据.

感谢致敬

@Asad:你应该把你的术语说得对:Fields不是Global Variables,C#没有全局变量(正如一些评论者提到的:你可以模拟全局变量,但你不应该这样做).

c# field properties

7
推荐指数
1
解决办法
3450
查看次数

物业访问者

两者之间有什么根本区别

public string Name  
{  
  get  
  {  
    return _name;  
  }  
  set  
  {  
    _name = value;  
  }  
} 
Run Code Online (Sandbox Code Playgroud)

public string Name {get; set;}
Run Code Online (Sandbox Code Playgroud)

c# oop properties object

2
推荐指数
1
解决办法
543
查看次数

使用默认访问权限的自动实现属性而不是使用公共字段有什么好处?

可能重复:
C#:公共字段与自动属性
我是否需要使用{get; 组; 获取和设置时没有特殊操作的c#字段

考虑以下两个选项:

public int Foo { get; set; }

public int Foo;
Run Code Online (Sandbox Code Playgroud)

它们似乎在语义上是等价的,我相信它们甚至会编译成同一个IL.那么使用该物业有什么好处?看到一个公共领域让我感到不安,但我想不出使用属性语法的任何具体优势.如果将来需要显式的getter和setter,public int Foo;则可以替换为public int Foo { ... }不需要其他更改.我能想到的最好的是属性语法感觉更好,但我很难用这个理由来说服其他人.

在这种情况下使用属性语法的优点(如果有的话)是什么?

c# properties

2
推荐指数
1
解决办法
1366
查看次数

标签 统计

c# ×3

properties ×3

field ×1

object ×1

oop ×1