内部Clear()方法的C#结构

1 c# methods structure internal clear

我想简单地建立商店信息的结构.我的问题是创建清除存储值的内部方法.

   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);
            ...
        }
    }
Run Code Online (Sandbox Code Playgroud)

所以在这个结构中写新值就行了,

GraphValues val = new GraphValues()
val.max = 12;
val.min = 1;
Run Code Online (Sandbox Code Playgroud)

但我想将所有结构都设置为null.打电话给像

val.Clear();
Run Code Online (Sandbox Code Playgroud)

任何的想法?Thnaks

Mar*_*ers 7

  1. 结构不应该是可变的.让你的类型成为一个类.
  2. 要允许空值,请使用可空类型.
  3. 使用属性而不是公共字段.

固定代码:

public class GraphValues
{
     public int? Min { get; set; } 
     public int? Max { get; set; }
     // etc...

     public void Clear()
     {
         Min = null;
         Max = null;
         // etc...
     }
}
Run Code Online (Sandbox Code Playgroud)

我还建议你考虑创建一个新对象是否更好,而不是将现有对象上的字段设置为null:

//val.Clear();           // Don't do this.
val = new GraphValues(); // Just create a new object.
Run Code Online (Sandbox Code Playgroud)