Es scheint, dass Sie auf die XML-Schema-gDay und gMonth Typen verweisen, die in wiederkehrenden Ereignissen repräsentieren Nach den Spezifikationen für gDay. und gMonth ihre Darstellung ist ---DD
und --MM
Sie könnenverwendenoder String.Formata format string mit einer Zeichenfolge mit Bindestrichen gepolstert zu erzeugen, zum Beispiel:
3.ToString("---00")
kehrt ---03
während
11.ToString("--00")
kehrt --11
.
Sie benötigen keine spezielle Formatierung für gYear
, es sei denn, Sie beabsichtigen, Jahre vor 1000 zu übergeben. In diesem Fall können Sie ToString("0000")
verwenden.
Die entsprechenden Aussagen String.Format
Verwendung wäre:
String.Format("---{0:00}",day);
String.Format("--{0:00}",month);
usw. oder durch String-Interpolation in C# 6,
$"---{day:00}"
$"--{month:00}"
String.Format können Sie die Darstellungen für die anderen erzeugen, Typen auch, zB für gMonthDay
würden Sie String.Format("--{0:00}-{1:00}",month,day)
oder $"--{month:00}-{day:00}"
verwenden
Was * ist * 'gDay'? Es gibt keinen solchen Standardtyp. Ihr Beispiel zeigt auch ein eher ungewöhnliches Format. Warum schreibst du keine Funktion, die nur einen String mit '-' und der gewünschten Zahl auffüllt? Ich sehe nicht, wie dies mit XML verwandt ist –
@ PanagiotisKanavos Nicht Standard, sagst du? https://www.w3.org/TR/xmlschema-2/#gDay =) –
@J.Steen "nie einen Web-Service oder DTO, der ein wiederkehrendes Datum in 20 Jahren angibt" dann. Nur einfache Typen haben eingebaute Mappings, so dass der Benutzer den Code schreiben muss, um eine ganze Zahl in dieses Format zu schreiben –