Код: Выделить всё
internal class Program
{
static async Task Main(string[] args)
{
var t = new Thing() { Name = "Some Long Name" };
string path = @"c:\_Temporary\serialized.json";
using var fs = new FileStream(path, FileMode.OpenOrCreate, FileAccess.Write);
await JsonSerializer.SerializeAsync(fs, t);
}
class Thing
{
public string Name { get; set; }
}
}
Код: Выделить всё
{"Name":"Some Long Name"}
Код: Выделить всё
var t = new Thing() { Name = "Short Name" }; // was "Some Long Name" before.
Код: Выделить всё
{"Name":"Short Name"}me"}
Такое поведение было для меня неожиданным, и я не знаю, что я делаю неправильно — это то, как я использую FileStream (я пробовал разные варианты FileMode и FileAccess), или это то, как Я использую JsonSerializer? В чем проблема? Я знаю несколько способов это исправить; Я не спрашиваю: «Как мне заставить этот код работать правильно?». Мне просто хотелось бы знать, где я ошибся.
Подробнее здесь: https://stackoverflow.com/questions/787 ... -when-usin