要将一个List保存到二进制文件中,并将其读取为List,您可以使用C#中的BinaryFormatter类和FileStream类。
以下是一个示例代码:
using System;
using System.Collections.Generic;
using System.IO;
using System.Runtime.Serialization.Formatters.Binary;
class Program
{
static void Main()
{
string filePath = "list_file.bin"; // 二进制文件路径
// 创建一个List并添加一些元素
List<string> myList = new List<string>();
myList.Add("Apple");
myList.Add("Banana");
myList.Add("Orange");
// 将List保存到二进制文件
SaveListToFile(filePath, myList);
// 从二进制文件中读取List
List<string> loadedList = LoadListFromFile(filePath);
// 打印读取的List
Console.WriteLine("读取的List内容:");
foreach (string item in loadedList)
{
Console.WriteLine(item);
}
}
static void SaveListToFile(string filePath, List<string> list)
{
// 创建一个FileStream用于写入二进制文件
using (FileStream fileStream = new FileStream(filePath, FileMode.Create))
{
// 创建一个BinaryFormatter实例
BinaryFormatter formatter = new BinaryFormatter();
// 使用BinaryFormatter将List序列化为二进制数据,并写入FileStream
formatter.Serialize(fileStream, list);
}
}
static List<string> LoadListFromFile(string filePath)
{
// 创建一个FileStream用于读取二进制文件
using (FileStream fileStream = new FileStream(filePath, FileMode.Open))
{
// 创建一个BinaryFormatter实例
BinaryFormatter formatter = new BinaryFormatter();
// 使用BinaryFormatter从FileStream中反序列化二进制数据,并将其转换为List
List<string> list = (List<string>)formatter.Deserialize(fileStream);
return list;
}
}
}
在这个示例中,我们首先创建一个List并添加一些元素。
然后,我们使用SaveListToFile方法将List保存到二进制文件中。
在SaveListToFile方法中,我们创建一个FileStream用于写入二进制文件,并创建一个BinaryFormatter实例。我们使用BinaryFormatter的Serialize方法将List序列化为二进制数据,并将其写入FileStream。
接下来,我们使用LoadListFromFile方法从二进制文件中读取List。
在LoadListFromFile方法中,我们创建一个FileStream用于读取二进制文件,并使用BinaryFormatter的Deserialize方法将二进制数据反序列化为List。
最后,我们打印读取的List的内容。
请确保将示例代码中的list_file.bin替换为您要保存和读取的二进制文件的路径。
请注意,这只是一个简单的示例,适用于保存和读取字符串类型的List。
如果您的需求是不同的,例如保存和读取其他类型的List,您需要相应地调整序列化和反序列化的方法和数据类型。