Maison développement back-end Tutoriel C#.Net Comment gérer la sérialisation et la désérialisation d'objets dans le développement C#

Comment gérer la sérialisation et la désérialisation d'objets dans le développement C#

Oct 10, 2023 pm 06:07 PM
序列化 反序列化 manipulation d'objets

Comment gérer la sérialisation et la désérialisation dobjets dans le développement C#

Comment gérer la sérialisation et la désérialisation d'objets dans le développement C# nécessite des exemples de code spécifiques

Dans le développement C#, la sérialisation et la désérialisation d'objets sont des concepts très importants. La sérialisation convertit un objet dans un format pouvant être transmis sur le réseau ou stocké sur disque, tandis que la désérialisation reconvertit les données sérialisées en objet d'origine. Cet article explique comment gérer la sérialisation et la désérialisation des objets en C# et fournit des exemples de code spécifiques.

  1. Utilisez la bibliothèque Json.NET pour la sérialisation et la désérialisation

Json.NET est une bibliothèque tierce populaire qui permet une sérialisation et une désérialisation pratiques d'objets en C#. Tout d’abord, nous devons installer la bibliothèque Json.NET. Json.NET peut être installé dans Visual Studio via le gestionnaire de packages NuGet.

a) Exemple de sérialisation d'objet

L'exemple de code suivant montre comment sérialiser un objet Person en une chaîne JSON :

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);
}
Copier après la connexion

Dans cet exemple, nous utilisons la méthode JsonConvert.SerializeObject pour convertir l'objet Person en une chaîne JSON, et afficher les résultats via Console.WriteLine.

b) Exemple de désérialisation d'objet

L'exemple de code suivant montre comment désérialiser une chaîne JSON en un objet Person :

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);
}
Copier après la connexion

Dans cet exemple, nous utilisons la méthode JsonConvert.DeserializeObject pour convertir la chaîne JSON en objet Person et afficher le valeurs des propriétés Name et Age via Console.WriteLine.

  1. Utilisez BinaryFormatter pour la sérialisation et la désérialisation

En plus de la bibliothèque Json.NET, C# fournit également la classe BinaryFormatter, qui peut être utilisée pour sérialiser des objets dans des formats binaires et désérialiser des données binaires en objets. Voici un exemple de sérialisation et de désérialisation à l'aide de BinaryFormatter :

a) Exemple de sérialisation d'objet

L'exemple de code suivant montre comment sérialiser un objet Person en données binaires :

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));
}
Copier après la connexion

Dans cet exemple, nous créons un objet Person et le sérialisons dans un flux mémoire à l’aide de la méthode BinaryFormatter.Serialize. Ensuite, récupérez les données binaires via la méthode MemoryStream.ToArray et affichez-les sous forme de chaîne à l'aide de la méthode BitConverter.ToString.

b) Exemple de désérialisation d'objet

L'exemple de code suivant montre comment désérialiser des données binaires dans un objet Personne :

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);
}
Copier après la connexion

Dans cet exemple, nous utilisons la méthode BinaryFormatter.Deserialize pour désérialiser des données binaires dans un objet Personne et afficher les valeurs. ​​des propriétés Name et Age via Console.WriteLine.

Résumé

Grâce à cet article, nous avons appris à gérer la sérialisation et la désérialisation d'objets dans le développement C#. Nous avons utilisé la bibliothèque Json.NET et la classe BinaryFormatter pour effectuer respectivement des exemples de sérialisation et de désérialisation, et avons fourni des extraits de code spécifiques. Veuillez choisir la méthode appropriée pour gérer la sérialisation et la désérialisation des objets en fonction des besoins réels.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment résoudre l'échec de la désérialisation PHP Comment résoudre l'échec de la désérialisation PHP Oct 11, 2023 am 09:30 AM

Solution à l'échec de la désérialisation PHP Vérifiez les données sérialisées. Vérifiez les définitions de classes, vérifiez les journaux d'erreurs, mettez à jour les versions PHP et appliquez des mesures de sécurité, etc. Introduction détaillée : 1. Vérifiez les données sérialisées. Vérifiez d'abord si les données sérialisées sont valides et conformes aux spécifications de sérialisation de PHP. Si les données sont endommagées ou ont un format incorrect, vous pouvez essayer de les réparer ou de restaurer les données correctes à partir de la sauvegarde. 2. Vérifiez la définition de classe, assurez-vous que toutes les classes utilisées dans les données sérialisées existent et peuvent être automatiquement chargées. Si la classe n'existe pas ou est inaccessible, vous pouvez essayer de réparer la définition de classe, etc.

En Java, comment sérialiser une liste d'objets en utilisant flexjson ? En Java, comment sérialiser une liste d'objets en utilisant flexjson ? Sep 05, 2023 pm 11:09 PM

Flexjson est une bibliothèque légère permettant de sérialiser et de désérialiser des objets Java vers et depuis le format JSON. Nous pouvons sérialiser une liste d'objets en utilisant la méthode serialize() de la classe JSONSerializer. Cette méthode effectue une sérialisation superficielle sur l'instance cible. Nous devons passer une liste d'objets de type liste en paramètre à la méthode serialize(). Exemple de syntaxe publicStringserialize(Objecttarget) importflexjson.JSONSerializer;importjava.util.*;publicclassJsonSerial

Comment la sérialisation Java affecte-t-elle les performances ? Comment la sérialisation Java affecte-t-elle les performances ? Apr 16, 2024 pm 06:36 PM

L'impact de la sérialisation sur les performances Java : le processus de sérialisation repose sur la réflexion, ce qui affectera considérablement les performances. La sérialisation nécessite la création d'un flux d'octets pour stocker les données d'objet, ce qui entraîne des coûts d'allocation de mémoire et de traitement. La sérialisation d'objets volumineux consomme beaucoup de mémoire et de temps. Les objets sérialisés augmentent la charge lorsqu'ils sont transmis sur le réseau.

Compétences en traitement de données PHP : comment utiliser les fonctions de sérialisation et de désérialisation pour implémenter la sérialisation et la désérialisation des données Compétences en traitement de données PHP : comment utiliser les fonctions de sérialisation et de désérialisation pour implémenter la sérialisation et la désérialisation des données Jul 29, 2023 am 10:49 AM

Compétences en traitement de données PHP : Comment utiliser les fonctions de sérialisation et de désérialisation pour implémenter la sérialisation et la désérialisation des données. La sérialisation et la désérialisation sont l'une des compétences de traitement de données couramment utilisées en informatique. En PHP, nous pouvons utiliser les fonctions serialize() et unserialize() pour implémenter des opérations de sérialisation et de désérialisation de données. Cet article vous donnera une introduction détaillée sur la façon d'utiliser ces deux fonctions et fournira des exemples de code pertinents. 1. Qu'est-ce que la sérialisation et la désérialisation dans la programmation informatique ?

Comment la bibliothèque de fonctions C++ effectue-t-elle la sérialisation et la désérialisation ? Comment la bibliothèque de fonctions C++ effectue-t-elle la sérialisation et la désérialisation ? Apr 18, 2024 am 10:06 AM

Guide de sérialisation et de désérialisation de la bibliothèque C++ Sérialisation : création d'un flux de sortie et conversion au format d'archive. Sérialisez les objets dans l'archive. Désérialisation : crée un flux d'entrée et le restaure à partir du format d'archive. Désérialisez les objets de l'archive. Exemple pratique : Sérialisation : Création d'un flux de sortie. Créez un objet d'archive. Créez et sérialisez des objets dans l'archive. Désérialisation : créez un flux d'entrée. Créez un objet d'archive. Créez des objets et désérialisez-les à partir de l'archive.

Comment sérialiser l'ordre des propriétés à l'aide de la bibliothèque Jackson en Java ? Comment sérialiser l'ordre des propriétés à l'aide de la bibliothèque Jackson en Java ? Aug 28, 2023 pm 12:45 PM

@JsonPropertyOrder est une annotation utilisée au niveau de la classe. Il prend comme attribut une liste de champs qui définit l'ordre dans lequel les champs apparaissent dans la chaîne générée par la sérialisation JSON de l'objet. Les propriétés incluses dans la déclaration d'annotation peuvent être sérialisées en premier (dans l'ordre dans lequel elles sont définies), suivies de toutes les propriétés non incluses dans la définition. Syntaxe public@interfaceJsonPropertyOrder Exemple importcom.fasterxml.jackson.core.*;importcom.fasterxml.jackson.databind.*;importcom.fasterxml.jac

Sérialisation et désérialisation d'interfaces et de classes abstraites en Java Sérialisation et désérialisation d'interfaces et de classes abstraites en Java May 02, 2024 am 08:33 AM

Les interfaces ne peuvent pas être sérialisées directement. Les classes abstraites peuvent être sérialisées, mais seulement si elles ne contiennent pas de champs non statiques et non transitoires ou si elles ne remplacent pas les méthodes writeObject() et readObject(). Des instances spécifiques peuvent être implémentées via des classes concrètes qui implémentent l'interface. ou remplacez writeObject() et readObject, implémentation de la classe abstraite de la méthode ().

Utilisez la fonction PHP unserialize() pour implémenter la désérialisation Utilisez la fonction PHP unserialize() pour implémenter la désérialisation Jun 27, 2023 am 08:01 AM

La sérialisation est le processus de conversion d'une structure de données ou d'un objet en une chaîne à des fins de stockage, de transmission ou de représentation et, inversement, d'analyse d'une chaîne dans la structure de données ou l'objet d'origine. En PHP, nous pouvons utiliser la fonction serialize() pour sérialiser une variable en chaîne, et utiliser la fonction unserialize() pour désérialiser une chaîne en une structure de données ou un objet primitif. Cet article se concentrera sur l'utilisation et les précautions de la fonction PHPunserialize(). 1. désérialiser

See all articles