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.