带 getter 的 C# 属性 和带等号的 属性 有什么区别?
What is the difference between a C# property with a getter and a property with an equals sign?
这两个属性有什么区别:
public int Foo = 6;
public int Bar {get;} = 6
这是一个 link 的工作程序,显示输出是相同的:https://replit.com/@TomDane/GloriousDramaticScope#main.cs
using System;
class Program {
static void Main(string[] args) {
var someClass = new SomeClass();
Console.WriteLine(someClass.PropertyWithEquals);
Console.WriteLine(someClass.PropertyWithGetter);
}
}
public class SomeClass {
public int PropertyWithEquals = 6;
public int PropertyWithGetter {get;} = 6;
}
这个的输出是 6 和 6。如果输出是相同的,还有其他原因更喜欢一个吗?
在现实生活中,结果可能是一样的,但是第一个Foo
可以设置,所以等于public int Foo {get; set;}
,而Bar
不能设置在[之外=15=] 并且已经初始化了
这两个属性有什么区别:
public int Foo = 6;
public int Bar {get;} = 6
这是一个 link 的工作程序,显示输出是相同的:https://replit.com/@TomDane/GloriousDramaticScope#main.cs
using System;
class Program {
static void Main(string[] args) {
var someClass = new SomeClass();
Console.WriteLine(someClass.PropertyWithEquals);
Console.WriteLine(someClass.PropertyWithGetter);
}
}
public class SomeClass {
public int PropertyWithEquals = 6;
public int PropertyWithGetter {get;} = 6;
}
这个的输出是 6 和 6。如果输出是相同的,还有其他原因更喜欢一个吗?
在现实生活中,结果可能是一样的,但是第一个Foo
可以设置,所以等于public int Foo {get; set;}
,而Bar
不能设置在[之外=15=] 并且已经初始化了