我试图从我的模型中获取字节数组并将其放入文件中。我有这样的方法:
public static byte[] GetByteArray(List<MyModel> models)
{
using var ms = new MemoryStream();
using var sw = new StreamWriter(ms);
foreach (var model in models)
{
sw.Write(model.Id + "," + model.Name);
sw.WriteLine();
}
sw.Dispose();
return ms.ToArray();
}
Run Code Online (Sandbox Code Playgroud)
此方法工作正常,但可能认为我不需要手动处置StreamWriter,因为我有一个 using 语句。我也这么想,但是当我删除时sw.Dispose();返回ms.ToArray();一个空数组。有人可以向我解释这种行为吗?