gpt4 book ai didi

c# - 静态变量与静态属性

转载 作者:太空宇宙 更新时间:2023-11-03 10:50:09 25 4
gpt4 key购买 nike

抱歉,描述含糊不清。前段时间我有一个场景,当我在下面的代码中使用“North”时,某些东西不起作用。但是当我重新排列代码并将“North”定义为“X”时,它起作用了。对于我的生活,我不记得它是什么(那是另一个类,而不是下面的课)。如果有什么不同的话,Bearing 是一个简单地包装 double (N) 并将其保持在 0 >= N < 360 范围内的类。有没有人对以任何一种方式这样做的原因有任何想法?一个更好吗?为什么?谢谢。

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); }
}

最佳答案

一种方法实际上是“只读”。这样:

public static Bearing X
{
get { return new Bearing(0.0); }
}

每次阅读时返回一个新的Bearing

另一个仅在实例化时具有默认值,并且可以通过代码的任何部分进行更改。当您阅读它时..它的值发生了变化。

那么,哪个更好呢?无论您的用例是什么。他们都做不同的事情。

关于c# - 静态变量与静态属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21740263/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com