Ten artykuł wyjaśni Serializacja I deserializacja w C# z przykładem.
Serializacja w C#
Aby przekonwertować obiekt na format, który może być przechowywany lub przesyłany przez serializację sieciową, a ten format może być formatem XML, formatem binarnym lub dowolnym innym formatem. Serializacja jest używany do przechowywania i transmisji danych i jest to ważna koncepcja w programowaniu C#.
Weźmy przykład, aby zrozumieć serializację w C#, załóżmy, że mamy "Pracownik" klasa zawierająca imię i nazwisko pracownika, id i pensja:
za pomocą systemu;Powyższy kod C# pokazuje, jak serializować obiekt niestandardowej klasy wymienionej "Pracownik" używając DataContractSerializer klasa z System.Czas wykonawczy.Serializacja Przestrzeń nazw. Klasa ma trzy właściwości: nazwa, id i pensja, z których wszystkie są oznaczone DataMember atrybut wskazujący, że powinny być one uwzględnione w procesie serializacji.
W Main, instancja Pracownik Klasa jest tworzona, a jej właściwości są ustawione na przykładowe dane i DataContractSerializer jest następnie używany do serializacji obiektu w tablicę bajtów, który jest zapisywany w pliku za pomocą pliku FileStream. Ścieżka pliku jest określona za pomocą Ścieżka.Łączyć I Środowisko.CurrentDirectory () Funkcje, a następnie serializowane dane są wyświetlane w konsoli wraz ze ścieżką pliku:
Deserializacja w C#
Deserializacja jest procesem konwersji serializowanych danych, zwykle przechowywanych w pliku lub przesyłanym przez sieć, z powrotem do oryginalnej formy. W C#proces deserializacja polega na tworzeniu obiektu z jego serializowanej formy, którą można osiągnąć za pomocą różnych wbudowanych klas, takich jak DataContractSerializer albo Xmlserializer.
Weźmy przykład, aby zrozumieć deserializację w C# i użyj tego samego serializowanego pliku, który utworzyliśmy wcześniej i deserializuj go, poniżej znajduje się kod dla niego:
za pomocą systemu;Powyższy kod C# używa DataContractSerializer klasa, aby deserializować obiekt „pracownika”, który został wcześniej serializowany i zapisany w pliku binarnym. Klasa pracowników jest zdefiniowana DataMember atrybuty jego właściwości, aby wskazać, że powinny być serializowane/deserializowane. Główna tworzy instancję serializatora i otwiera plik binarny za pomocą FileStream, a funkcja Serializer ReadObject () jest następnie używana do odczytu danych serializowanych i utworzenia nowego obiektu pracownika. Obiekt pracownika jest następnie drukowany na konsolę, aby potwierdzić, że został pomyślnie deserializowany.
Końcowe przemyślenia
W programowaniu C#, Serializacja I deserializacja to istotne pojęcia używane do przechowywania danych i transmisji danych. Serializacja polega na przekształceniu obiektu w format odpowiedni do przechowywania lub transmisji, podczas gdy deserializacja obejmuje odwrotny proces konwersji serializowanych danych z powrotem do jego pierwotnej formy. W podanym przykładzie kodu, DataContractSerializer Klasa służy do serializacji wystąpienia klasy pracowników w tablicy bajtowej, która jest następnie zapisywana na pliku. deserializacja Proces polega na odczytaniu serializowanych danych z pliku i korzystanie z tego samego serializatora w celu z powrotem do instancji klasy pracowników.