带 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=] 并且已经初始化了