Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 可序列化和不可序列化_C# - Fatal编程技术网

C# 可序列化和不可序列化

C# 可序列化和不可序列化,c#,C#,[可序列化] 或 [不可序列化],有什么区别 例如: [可序列化] 公共级摩托车 { } [不可序列化] 公共级摩托车 { } 我真的不明白其中的区别,谁能给我指出一个解释的来源 网上有解释,但我觉得我不明白这么高层次的技术解释 想象一个物体,比如一辆摩托车可以通过状态保存。如在保存状态中设置了变量,如属性颜色=黑色,品牌=哈雷戴维森。。。使用Serialization属性,您可以保存该对象及其变量集。。Serializable意味着它的状态可以与类型一起保存 非序列化属性的作用正好相反,它

[可序列化] 或 [不可序列化],有什么区别

例如:

[可序列化]
公共级摩托车
{
}
[不可序列化]
公共级摩托车
{
}
我真的不明白其中的区别,谁能给我指出一个解释的来源


网上有解释,但我觉得我不明白这么高层次的技术解释

想象一个物体,比如一辆摩托车可以通过状态保存。如在保存状态中设置了变量,如属性颜色=黑色,品牌=哈雷戴维森。。。使用Serialization属性,您可以保存该对象及其变量集。。Serializable意味着它的状态可以与类型一起保存

非序列化属性的作用正好相反,它们排除正在保存的变量


你应该试试看,看看我的意思。我无法解释它比这更简单(高层次)。您正在阅读的所有内容都必须是低级实现细节

“方法[…]可以是
[Serializable]
[NonSerializable]
。错误。只有类型可以标记为
[Serializable]
,只有字段可以标记为
[NonSerialized]
NonSerializableAttribute
不存在,它应该是
NonSerializedAttribute
()。google中的一个短语”编程序列化“:NB:
NonSerializedAttribute
仅在字段中使用,因为
AttributeTargets.field
实际上,它不能用于将类级别标记为不可序列化。