很抱歉描述不够清晰。我之前遇到一个场景,当我在下面的代码中使用“North”时,某些东西无法正常工作。但是当我重新排列代码并像“X”一样定义“North”时,它就可以工作了。我现在想不起来具体是什么了(那是另一个类,而不是下面的类)。如果有人对这两种方式的原因有任何想法,请分享一下。哪个更好?为什么?谢谢。
public struct Bearing : IComparable
{
#region Named Bearings
/// <summary>
/// A bearing representing North (this is the default)
/// </summary>
public static Bearing North = new Bearing(0.0);
public static Bearing X
{
get { return new Bearing(0.0); }
}
readonly
,你就得到了运行时常量。 - Simon Whitehead