在C#中,是什么使字段与属性不同?何时应该使用字段而不是属性?
当前回答
其他信息:默认情况下,get和set访问器与属性本身一样可访问。通过对访问器应用更严格的访问修饰符,可以分别控制/限制访问器的可访问性(对于get和set)。
例子:
public string Name
{
get
{
return name;
}
protected set
{
name = value;
}
}
这里get仍然是公共访问的(因为属性是公共的),但set是受保护的(一个更受限制的访问说明符)。
其他回答
此外,财产允许您在设置值时使用逻辑。
因此,如果值大于x,您可以说只想将值设置为整数字段,否则将引发异常。
非常有用的功能。
如果要使用线程原语,则必须使用字段。财产可以破坏线程代码。除此之外,科里所说的是正确的。
字段是类的普通成员变量或成员实例。财产是获取和设置其值的抽象。财产也称为访问器,因为如果您将类中的字段公开为私有字段,则它们提供了更改和检索字段的方法。通常,您应该将成员变量声明为私有的,然后为它们声明或定义财产。
class SomeClass
{
int numbera; //Field
//Property
public static int numbera { get; set;}
}
看完所有答案后,我没有找到关于并发访问的答案。
假设您有一个可以异步访问的API端点,并且您使用静态字段存储数据,并且需要对静态字段进行独占访问。
为了重现这个示例,您需要一个负载测试来同时访问端点。
当使用静态int计数器字段时,端点在两次或多次访问中获得相同的值。
当使用静态int计数器属性时,端点处理并发性,并始终获取计数器的新值。
这根本不能回答问题,但在使用其中一种或另一种时,必须考虑到这种行为。
当你有一节课是“汽车”时。财产包括颜色、形状。。
其中as字段是在类范围内定义的变量。