Heim  >  Artikel  >  Backend-Entwicklung  >  Umgang mit Objektserialisierung und -deserialisierung in der C#-Entwicklung

Umgang mit Objektserialisierung und -deserialisierung in der C#-Entwicklung

PHPz
PHPzOriginal
2023-10-10 18:07:44989Durchsuche

Umgang mit Objektserialisierung und -deserialisierung in der C#-Entwicklung

Der Umgang mit der Objektserialisierung und -deserialisierung in der C#-Entwicklung erfordert spezifische Codebeispiele.

In der C#-Entwicklung sind Objektserialisierung und -deserialisierung sehr wichtige Konzepte. Durch die Serialisierung wird ein Objekt in ein Format konvertiert, das über das Netzwerk übertragen oder auf der Festplatte gespeichert werden kann, während durch die Deserialisierung die serialisierten Daten wieder in das ursprüngliche Objekt umgewandelt werden. In diesem Artikel wird erläutert, wie mit der Serialisierung und Deserialisierung von Objekten in C# umgegangen wird, und es werden einige spezifische Codebeispiele bereitgestellt.

  1. Verwenden Sie die Json.NET-Bibliothek zur Serialisierung und Deserialisierung

Json.NET ist eine beliebte Bibliothek eines Drittanbieters, die eine praktische Objektserialisierung und Deserialisierung in C# ermöglicht. Zuerst müssen wir die Json.NET-Bibliothek installieren. Json.NET kann in Visual Studio über den NuGet-Paketmanager installiert werden.

a) Beispiel für die Objektserialisierung

Das folgende Codebeispiel zeigt, wie ein Person-Objekt in einen JSON-String serialisiert wird:

using Newtonsoft.Json;
using System;

public class Person
{
    public string Name { get; set; }
    public int Age { get; set; }
}

public static void Main()
{
    Person person = new Person { Name = "John Doe", Age = 30 };
    string json = JsonConvert.SerializeObject(person);
    Console.WriteLine(json);
}

In diesem Beispiel verwenden wir die Methode JsonConvert.SerializeObject, um das Person-Objekt in einen JSON-String zu konvertieren, und Geben Sie die Ergebnisse über Console.WriteLine aus.

b) Beispiel für die Objektdeserialisierung

Das folgende Codebeispiel zeigt, wie eine JSON-Zeichenfolge in ein Personenobjekt deserialisiert wird:

using Newtonsoft.Json;
using System;

public class Person
{
    public string Name { get; set; }
    public int Age { get; set; }
}

public static void Main()
{
    string json = "{"Name":"John Doe","Age":30}";
    Person person = JsonConvert.DeserializeObject<Person>(json);
    Console.WriteLine(person.Name);
    Console.WriteLine(person.Age);
}

In diesem Beispiel verwenden wir die Methode JsonConvert.DeserializeObject, um die JSON-Zeichenfolge in ein Personenobjekt zu konvertieren und auszugeben Werte der Name- und Age-Eigenschaften über Console.WriteLine.

  1. Verwenden Sie BinaryFormatter für die Serialisierung und Deserialisierung

Zusätzlich zur Json.NET-Bibliothek stellt C# auch die BinaryFormatter-Klasse bereit, mit der Objekte in Binärformate serialisiert und Binärdaten in Objekte deserialisiert werden können. Hier ist ein Beispiel für die Serialisierung und Deserialisierung mit BinaryFormatter:

a) Beispiel für die Objektserialisierung

Das folgende Codebeispiel zeigt, wie ein Personenobjekt in Binärdaten serialisiert wird:

using System;
using System.IO;
using System.Runtime.Serialization.Formatters.Binary;

[Serializable]
public class Person
{
    public string Name { get; set; }
    public int Age { get; set; }
}

public static void Main()
{
    Person person = new Person { Name = "John Doe", Age = 30 };

    BinaryFormatter formatter = new BinaryFormatter();
    MemoryStream stream = new MemoryStream();

    formatter.Serialize(stream, person);
    byte[] binaryData = stream.ToArray();

    stream.Close();

    Console.WriteLine(BitConverter.ToString(binaryData));
}

In diesem Beispiel erstellen wir ein Personenobjekt und serialisieren es in einen Speicherstream mit der BinaryFormatter.Serialize-Methode. Rufen Sie dann die Binärdaten über die Methode MemoryStream.ToArray ab und geben Sie sie mit der Methode BitConverter.ToString als Zeichenfolge aus.

b) Beispiel für die Objektdeserialisierung

Das folgende Codebeispiel zeigt, wie Binärdaten in ein Personenobjekt deserialisiert werden:

using System;
using System.IO;
using System.Runtime.Serialization.Formatters.Binary;

[Serializable]
public class Person
{
    public string Name { get; set; }
    public int Age { get; set; }
}

public static void Main()
{
    string binaryDataString = "01-00-00-00-02-00-00-00-00-00-00-00-09-4A-6F-68-6E-20-44-6F-65-00-1E-00-00-00-00-00-00-00";
    byte[] binaryData = BitConverter.GetBytes(binaryDataString.Replace("-", ""));

    BinaryFormatter formatter = new BinaryFormatter();
    MemoryStream stream = new MemoryStream(binaryData);

    Person person = (Person)formatter.Deserialize(stream);
    stream.Close();

    Console.WriteLine(person.Name);
    Console.WriteLine(person.Age);
}

In diesem Beispiel verwenden wir die BinaryFormatter.Deserialize-Methode, um Binärdaten in ein Personenobjekt zu deserialisieren und die Werte auszugeben ​​der Name- und Age-Eigenschaften über Console.WriteLine.

Zusammenfassung

In diesem Artikel haben wir gelernt, wie man mit der Objektserialisierung und -deserialisierung in der C#-Entwicklung umgeht. Wir haben die Json.NET-Bibliothek und die BinaryFormatter-Klasse verwendet, um Serialisierungs- bzw. Deserialisierungsbeispiele durchzuführen, und spezifische Codeausschnitte bereitgestellt. Bitte wählen Sie die geeignete Methode für die Objektserialisierung und -deserialisierung basierend auf den tatsächlichen Anforderungen aus.

Das obige ist der detaillierte Inhalt vonUmgang mit Objektserialisierung und -deserialisierung in der C#-Entwicklung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn