我想简单地构建商店信息。我的问题是创建清除存储值的内部方法。
public struct GraphValues
{
public int min, max, ...;
public GraphValues(int min, int max, ...)
{
this.min = min;
this.max = max;
...
}
public static void Clear(this GraphValues values)
{
values.min.Equals(null);
values.max.Equals(null);
...
}
}
所以在这个结构中写新值是可以的,
GraphValues val = new GraphValues()
val.max = 12;
val.min = 1;
但我想将所有结构值设置为 null 。调用类似
的内容val.Clear();
有什么想法吗? Thnaks
答案 0 :(得分:7)
固定代码:
public class GraphValues
{
public int? Min { get; set; }
public int? Max { get; set; }
// etc...
public void Clear()
{
Min = null;
Max = null;
// etc...
}
}
我还建议你考虑创建一个新对象是否更好,而不是将现有对象上的字段设置为null:
//val.Clear(); // Don't do this.
val = new GraphValues(); // Just create a new object.
答案 1 :(得分:2)
从static
方法定义中删除“Clear()
”关键字,以便它可用于GraphValues
对象的每个实例。此外,无需传递参数 - 在Clear()
方法内,您可以访问所有成员。并且您希望将设置为null,而不是将它们的值与null进行比较。
public void Clear()
{
this.min = null;
this.max = null;
...
}
为什么这个结构呢?只需使用课程。