C#:
Att Arbeta med YAML
Hur man gör:
C# har inte inbyggt stöd för YAML, men du kan enkelt arbeta med YAML genom att använda tredjepartsbibliotek såsom YamlDotNet. Först behöver du installera YamlDotNet-paketet:
Install-Package YamlDotNet -Version 11.2.1
Läsa YAML:
Föreställ dig att du har en YAML-fil config.yaml
med följande innehåll:
appSettings:
name: MyApp
version: 1.0.0
Du kan läsa och tolka denna YAML-fil i C# så här:
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");
en deserializer = new DeserializerBuilder()
.WithNamingConvention(UnderscoredNamingConvention.Instance) // Justera namnkonventionen efter behov
.Build();
var config = deserializer.Deserialize<AppConfig>(yaml);
Console.WriteLine($"Namn: {config.appSettings.name}, Version: {config.appSettings.version}");
}
}
Exempelutdata:
Namn: MyApp, Version: 1.0.0
Skriva YAML:
För att skriva data till en YAML-fil använder du Serializer
-klassen från YamlDotNet. Så här serialiserar du ett objekt tillbaka till 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) // Justera namnkonventionen efter behov
.Build();
var yaml = serializer.Serialize(config);
File.WriteAllText("updatedConfig.yaml", yaml);
Console.WriteLine(yaml);
}
}
Exempelutdata:
appSettings:
name: MyApp
version: 2.0.0
Detta okomplicerade tillvägagångssätt demonstrerar hur du effektivt kan arbeta med YAML i dina C#-projekt, vilket gör det enkelt att läsa från och skriva till YAML-filer med hjälp av YamlDotNet-biblioteket.