C#:
Työskentely YAML:n kanssa
Kuinka:
C# ei sisällä sisäänrakennettua tukea YAML:lle, mutta voit helposti työskennellä YAML:n kanssa käyttämällä kolmannen osapuolen kirjastoja, kuten YamlDotNet. Ensin sinun täytyy asentaa YamlDotNet-paketti:
Install-Package YamlDotNet -Version 11.2.1
YAML:n lukeminen:
Kuvittele, että sinulla on YAML-tiedosto config.yaml
seuraavalla sisällöllä:
appSettings:
name: MyApp
version: 1.0.0
Voit lukea ja jäsentää tämän YAML-tiedoston C#:ssa näin:
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) // Sovita nimeämiskonventio tarpeen mukaan
.Build();
var config = deserializer.Deserialize<AppConfig>(yaml);
Console.WriteLine($"Nimi: {config.appSettings.name}, Versio: {config.appSettings.version}");
}
}
Esimerkkituloste:
Nimi: MyApp, Versio: 1.0.0
YAML:n kirjoittaminen:
Jotta voit kirjoittaa dataa YAML-tiedostoon, käytä Serializer
-luokkaa YamlDotNetistä. Tässä on, miten voit sarjallistaa olion takaisin YAML:ksi:
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) // Sovita nimeämiskonventio tarpeen mukaan
.Build();
var yaml = serializer.Serialize(config);
File.WriteAllText("updatedConfig.yaml", yaml);
Console.WriteLine(yaml);
}
}
Esimerkkituloste:
appSettings:
name: MyApp
version: 2.0.0
Tämä suoraviivainen lähestymistapa osoittaa, miten voit tehokkaasti työskennellä YAML:n kanssa C# projekteissasi. Se tekee YAML-tiedostojen lukemisesta ja kirjoittamisesta yksinkertaista käyttäen YamlDotNet-kirjastoa.