C# 如何避免序列化浮点数组属性

C# 如何避免序列化浮点数组属性,c#,windows,winforms,json.net,C#,Windows,Winforms,Json.net,我已经为CustomDashPattern使用了一个浮点数组属性,并像下面的代码一样使用它 float[] customDashPattern = { 5, 3, 5, 3 }; public float[] CustomDashPattern { get { return customDashPattern; } set { customDashPattern = value; } } public bool Should

我已经为CustomDashPattern使用了一个浮点数组属性,并像下面的代码一样使用它

float[] customDashPattern = { 5, 3, 5, 3 };

public float[] CustomDashPattern
{
   get
   {
       return customDashPattern;
   }  
   set
   {
       customDashPattern = value;
   }
}

public bool ShouldSerializeCustomDashPattern()
{
    return customDashPattern != new float[] { 5, 3, 5, 3 };
} 
但是属性值仍然在设计器中序列化,即使其默认值没有更改

即使在模式为默认值时,“应序列化”的逻辑也会返回true


谁能告诉我我做错了什么吗?

关于
=运算符比较对象引用。要比较数组内容,请使用
可枚举的.SequenceEqual()


它总是返回真的。数组不重载运算符=()这样就得到了简单的引用比较。这永远不会匹配。返修!SequenceEqual(新的float[]{5,3,5,3})@谢谢你的解决方案
public bool ShouldSerializeCustomDashPattern()
{
    return !Enumerable.SequenceEqual(customDashPattern, new float[] { 5, 3, 5, 3 })
}