在C#中,要对ArrayList进行反序列化,首先需要将序列化的数据存储在一个文件中,例如JSON格式。然后,可以使用System.IO.File
类和Newtonsoft.Json
库来读取和解析这个文件,最后将解析后的数据转换回ArrayList对象。以下是一个简单的示例:
- 首先,确保已经安装了Newtonsoft.Json库。如果没有安装,可以使用NuGet包管理器安装:
Install-Package Newtonsoft.Json
- 创建一个简单的C#类,用于存储序列化数据:
public class Person { public string Name { get; set; } public int Age { get; set; } }
- 使用Newtonsoft.Json库将ArrayList序列化为JSON字符串:
using System; using System.Collections.ArrayList; using Newtonsoft.Json; class Program { static void Main() { ArrayList people = new ArrayList(); people.Add(new Person { Name = "John", Age = 30 }); people.Add(new Person { Name = "Jane", Age = 28 }); string json = JsonConvert.SerializeObject(people); Console.WriteLine("Serialized ArrayList: " + json); } }
- 使用Newtonsoft.Json库将JSON字符串反序列化为ArrayList对象:
using System; using System.Collections.ArrayList; using Newtonsoft.Json; class Program { static void Main() { string json = "[{\"Name\":\"John\",\"Age\":30},{\"Name\":\"Jane\",\"Age\":28}]"; // 这是从文件或网络中读取的序列化数据 ArrayList people = JsonConvert.DeserializeObject(json); Console.WriteLine("Deserialized ArrayList:"); foreach (Person person in people) { Console.WriteLine($"Name: {person.Name}, Age: {person.Age}"); } } }
这个示例中,我们首先创建了一个包含两个Person对象的ArrayList,并将其序列化为JSON字符串。然后,我们将这个JSON字符串反序列化为一个新的ArrayList对象,并输出其内容。