Der folgende Artikel bietet einen Überblick über die C#-Serialisierung. Der Prozess, durch den die Objektinstanz in einen Datenstrom umgewandelt wird, wird als Serialisierung bezeichnet. Der Status der Objektinstanz wird in einen Datenstrom umgewandelt, da er über verschiedene Netzwerke transportiert werden kann, die an einem Speicherort dauerhaft gespeichert werden können. Dies dient als Vorteil der Serialisierung, um den konvertierten Datenstrom über verschiedene Netzwerke in einem plattformübergreifenden Format zu übertragen und die konvertierten Stromdaten in einem Speichermedium in einem persistenten oder nicht persistenten Objektzustand zu speichern, sodass dieselbe Kopie erstellt werden kann in späterer Zeit erstellt.
Im Folgenden sind die Schritte des C#-Serialisierungsobjekts aufgeführt:
Eine Beispielklasse zur Demonstration der Klasse [Serialisierbar]:
Code:
[Serializable] public class Check { public int code; public string name; }
Betrachten Sie die Beispielklasse unten, um das Attribut [ NonSerialized() ] zu demonstrieren:
Code:
[Serializable] public class Check { public int code; public string name; [NonSerialized()] Public double price; }
Im Folgenden sind die Serialisierungstypen aufgeführt, die von C# unterstützt werden:
Betrachten Sie den folgenden Code, um die Verwendung von XmlAttribute zu demonstrieren:
Code:
[XmlAttribute("Name")] public string Name { get { return Name; } set { Name = val; } }
Betrachten Sie den folgenden Code, um die Verwendung von XmlSerializer zu demonstrieren:
Code:
XmlSerializer Serializer = new XmlSerializer(typeof(Prod)); using (TextWriter Writer = new StreamWriter(@"C:\Prod.xml")) { xmlSerializer.Serialize(Writer, prodObject); }
Betrachten Sie den folgenden Code, um die benutzerdefinierte Serialisierung durch Implementierung der ISerializable-Schnittstelle zu demonstrieren:
Code:
[Serializable] public class Prod : ISerializable { public void GetObjectData(SerializationInfo information, StreamingContext cont) { //Usual code } }
Im Folgenden finden Sie ein Beispiel für die C#-Serialisierung:
C#-Programm zur Demonstration des Konzepts der Serialisierung.
Code:
using System; using System.IO; using System.Linq; using System.Runtime.Serialization; using System.Runtime.Serialization.Formatters.Binary; using System.Text; using System.Threading.Tasks; //a namespace called demo is created namespace Demo { //Serializable attribute is declared [Serializable] //a class check is defined which will be used for serialization class Check { public int identity; public String nam; static void Main(string[] args) { //an object of the check class is created to serialize it to the file Example.txt Check ob = new Check(); ob.identity = 10; ob.nam = "Shobha"; //a file stream is created IFormatter format = new BinaryFormatter(); Stream stream1 = new FileStream(@"E:\Example.txt",FileMode.Create,FileAccess.Write); //serialization of the object of the class check is done format.Serialize(stream1, ob); stream1.Close(); //a file stream is created stream1 = new FileStream(@"E:\Example.txt",FileMode.Open,FileAccess.Read); //the object of the class check is deserialized Check ob1 = (Check)format.Deserialize(stream1); //the data is written to the console Console.WriteLine(ob1.identity); Console.WriteLine(ob1.nam); Console.ReadKey(); } } }
Output:
In the above program, a namespace called demo is defined. Then a Serializable attribute is defined. A class check is defined to demonstrate the concept of serialization using this class. Two properties identity and nam are defined in the class to which the values 10 and Shobha are assigned respectively. Then an object of the check class is created to serialize it to the file Example.txt. Then a formatter class is defined to convert the object of the class check to a binary stream.
Then a file stream object is created to open the file Example.txt in write mode to write the values of the properties identity and nam into it. Then serialize method is used to transfer the binary data into the text file. Finally, We use deserialize method to deserialize the contents of the text file Example.txt and the data is written to the console as shown in the output snapshot above.
Das obige ist der detaillierte Inhalt vonC#-Serialisierung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!