【发布时间】:2015-09-27 06:16:21
【问题描述】:
我有一个 enum State 和一个 class Neighborhood 将它们用作数据。我是 C# 的新手,所以我不确定这是惯用的还是更简洁(或完全错误)。
public enum State : byte
{
zero = 0,
one = 1,
two = 2
}
public class Neighborhood
{
private State _left, _center, _right;
public Neighborhood(State left, State center, State right)
{
_left = left;
_center = center;
_right = right;
}
public State left { get { return _left; } }
public State center { get { return _center; } }
public State right { get { return _right; } }
}
是否有更短或更惯用的方法来做到这一点?
【问题讨论】:
-
我投票决定将此问题作为题外话结束,因为代码没有任何问题。关于代码审查或改进的问题属于 codereview.stackexchange.com
-
请注意,除非字段标有
readonly,否则您的类并不是真正不可变的。 -
好吧, 代码出了点问题,所有属性都返回了
_left...的值... :) -
我认为迁移需要版主干预(即标志)。当然,您始终可以手动完成,只需将问题复制/粘贴到其他站点并在此处删除问题即可。有关如何使用
readonly关键字及其作用的信息,请参阅 readonly (C# Reference)。 -
@kdbanman 我不认为这是迁移到 CR 的最佳帖子。当您拥有来自实际项目的真实工作代码并且您希望就代码的任何和所有方面获得反馈时,代码审查最适合您。这个问题实际上只是在问“关于 X 的最佳实践是什么?”,这在 CR 上显然是题外话(请参阅the help center)。
标签: c# oop properties immutability