Skip to content

RU CSharp Files JSON

Codex edited this page Oct 11, 2026 · 2 revisions

Українська · Русский · English · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어

Файлы, потоки и JSON

Руководство C# · Примеры UO

System.IO предоставляет файлы, каталоги и потоки. Path.Combine соединяет пути, File работает с целым содержимым, Stream — с последовательностью байтов. Кодировка определяет преобразование текста. Асинхронным операциям передавайте токен отмены.

Простой пример (Example.cs)

Сохраните этот пример отдельно как Example.cs. Запускайте его независимо от остальных примеров страницы.

Example.cs:

// PROJECT-EXAMPLE
var counts = new int[] { 2, 3 };
string json = System.Text.Json.JsonSerializer.Serialize(counts);
System.Console.WriteLine(json);

Результат:

[2,3]
using System.IO;
using System.Text;
string file = Path.Combine(Path.GetTempPath(), Guid.NewGuid() + ".txt");
try
{
    await File.WriteAllTextAsync(file, "C# text", Encoding.UTF8, Cancellation);
    string text = await File.ReadAllTextAsync(file, Encoding.UTF8, Cancellation);
    UO.Print(text);
}
finally
{
    if (File.Exists(file)) File.Delete(file);
}
record Settings(int Delay, string Mode);
var settings = new Settings(100, "idle");
string json = System.Text.Json.JsonSerializer.Serialize(settings);
Settings? restored = System.Text.Json.JsonSerializer.Deserialize<Settings>(json);
UO.Print(restored?.Mode ?? "missing");

Относительный путь зависит от рабочего каталога процесса. JSON хранит данные и не исполняет C#-код. Выбирайте сериализацию, подходящую вашим свойствам, конструкторам и настройкам имён.

Официальная документация: Файлы, потоки и JSON — Microsoft Learn.

Clone this wiki locally