C#:
การทำงานกับ YAML

วิธีการ:

C# ไม่มีการสนับสนุน YAML ในตัว แต่คุณสามารถทำงานกับ YAML ได้อย่างง่ายดายโดยใช้ไลบรารีของบุคคลที่สาม เช่น YamlDotNet ก่อนอื่นคุณต้องติดตั้งแพ็กเกจ YamlDotNet:

Install-Package YamlDotNet -Version 11.2.1

การอ่าน YAML:

จินตนาการว่าคุณมีไฟล์ YAML config.yaml ที่มีเนื้อหาดังนี้:

appSettings:
  name: MyApp
  version: 1.0.0

คุณสามารถอ่านและแยกวิเคราะห์ไฟล์ YAML นี้ใน C# ดังนี้:

using System;
using System.IO;
using YamlDotNet.Serialization;
using YamlDotNet.Serialization.NamingConventions;

public class AppConfig
{
    public AppSettings appSettings { get; set; }
}

public class AppSettings
{
    public string name { get; set; }
    public string version { get; set; }
}

class Program
{
    static void Main(string[] args)
    {
        var yaml = File.ReadAllText("config.yaml");
        var deserializer = new DeserializerBuilder()
            .WithNamingConvention(UnderscoredNamingConvention.Instance) // ปรับกฎการตั้งชื่อตามข้อกำหนด
            .Build();

        var config = deserializer.Deserialize<AppConfig>(yaml);

        Console.WriteLine($"Name: {config.appSettings.name}, Version: {config.appSettings.version}");
    }
}

ผลลัพธ์ตัวอย่าง:

Name: MyApp, Version: 1.0.0

การเขียน YAML:

ในการเขียนข้อมูลลงไฟล์ YAML ให้ใช้คลาส Serializer จาก YamlDotNet นี่คือวิธีการซีเรียลอ็อบเจ็คกลับไปยัง YAML:

using System;
using System.IO;
using YamlDotNet.Serialization;
using YamlDotNet.Serialization.NamingConventions;

class Program
{
    static void Main(string[] args)
    {
        var config = new AppConfig
        {
            appSettings = new AppSettings
            {
                name = "MyApp",
                version = "2.0.0"
            }
        };

        var serializer = new SerializerBuilder()
            .WithNamingConvention(UnderscoredNamingConvention.Instance) // ปรับกฎการตั้งชื่อตามข้อกำหนด
            .Build();

        var yaml = serializer.Serialize(config);
        File.WriteAllText("updatedConfig.yaml", yaml);

        Console.WriteLine(yaml);
    }
}

ผลลัพธ์ตัวอย่าง:

appSettings:
  name: MyApp
  version: 2.0.0

วิธีการนี้แสดงให้เห็นวิธีการทำงานกับ YAML ในโปรเจกต์ C# ของคุณอย่างมีประสิทธิภาพ เพื่อให้การอ่านและเขียนไฟล์ YAML ง่ายดายโดยใช้ไลบรารี YamlDotNet.