J'ai la méthode suivante pour sérialiser une liste des classes sur le disque:La meilleure façon de sérialiser une liste d'entités en C#
private static void Serialize(List<CcmAlarmUalUsl> entityList)
{
try
{
using (Stream stream = File.Open("CcmAlarmUalUsl.dat", FileMode.Create))
{
BinaryFormatter bin = new BinaryFormatter();
bin.Serialize(stream, entityList);
}
}
catch (IOException)
{
}
}
La classe d'entité Je veux sérialisation ressemble à ceci:
public class CcmAlarmUalUsl
{
public string SubId { get; set; }
public System.DateTime TimeOfAlarm { get; set; }
public int AlarmType { get; set; }
}
Ma classe Serialize est-elle le meilleur moyen de sérialiser la liste des entités sur le disque? Cela n'a pas besoin d'être lisible par l'homme. Il doit être utilisé strictement par l'application, en tant que moyen de stockage pour un cache interne. Aucun stockage de base de données n'est nécessaire.
Je suis également un peu préoccupé par le moment où il est temps de modifier la structure de CcmAlarmUalUsl. Je pourrais ajouter des propriétés à la fin de la classe. Comment cela affectera-t-il les éléments en cache existants?
Qu'est-ce que 'lizards1'? Vouliez-vous dire que ce soit 'entityList'? –
Quelle est votre exigence pour les données sérialisées? Si votre exigence est que les données sérialisées sont lisibles par un humain, alors BinaryFormatter n'est pas la meilleure solution, XmlSerializer pourrait être une meilleure option. Votre code n'est pas très clair, vous sérialisez une variable appelée 'lizards1 'mais la fonction prend enityList, est-ce la entityList que vous voulez sérialiser? –
Désolé - lizards1 était une faute de frappe. – Hosea146