2017-09-07 6 views
0

Ich habe eine Klasse wie:meine Typ String konvertieren

public class PersianDate 
{ 
    public int Year; 
    public int Month; 
    public int Day; 
    public int Hour; 
    public int Minute; 
    public int Second; 
    public string MonthName; 
} 

ich will, wenn ich es wie hier konvertieren:

:

HTools.PersianDate pDate=new HTools.PersianDate(); 
string date = pDate.ToString(); 

Und ich möchte dem neuesten Stand sein

1396-06-14T19: 17: 38

Wie kann ich das machen?

+0

Verwendung string.Format? –

+5

Haben Sie etwas versucht? überschreiben Sie den 'ToString'? Sieh dir auch 'PersianCalendar' an, anstatt deinen eigenen –

+0

Dankeschön zu schreiben, und ich wollte meinen eigenen Kalender haben, und ich wusste bereits über das Überschreiben von Methoden, habe aber nicht daran gearbeitet, existierende Methoden zu überschreiben. – rzb

Antwort

2
public class PersianDate 
{ 
    public int Year; 
    public int Month; 
    public int Day; 
    public int Hour; 
    public int Minute; 
    public int Second; 
    public string MonthName; 

    public override string ToString() 
    { 
     return string.Format("{0}-{1}-{2}T{3}:{4}:{5}",Year,Month,Day,Hour,Minute,Second); 
    } 
} 

Aufschalten ToString() Methode von object Klasse Sie das gewünschte Format zu erhalten.

DotNetFiddle Example.

0

Wenn Sie eine Zeichenfolge wollen, dass das Objekt als JSON darstellen können Sie die „Newtonsift.Json“ Nuget Paket verwenden:

PersianDate thing = new PersianDate(); 
//TODO: fill you thing with the data you need 
string json = JsonConvert.SerializeObject(thing); 

Wenn Sie bestimmte Zeichenfolge wollen - ovverride die ToString Methoden in Ihrer Klasse:

public override string ToString() 
{ 
    return $"{Year}-{Month}-{Day}T{Hour}:{Minute}:{Second}"; 
} 
+4

OP hat nie gesagt, dass er JSON verwenden möchte. Sie könnten ihm eine XML-Serialisierung vorschlagen, das wäre sinnlos. Übrigens, Ihr 'ToString()' wird das Format zurückgeben, nach dem OP nicht gefragt hat. – Nino

+0

Nun ist nicht gerade klar, was er fragt, Ich gab ihm ein paar Optionen. Wenn du den Titel der Frage anschaust, heißt es: "konvertiere meinen Typ in einen String". Wenn Sie das Objekt in einen String "konvertieren" möchten, ist die Serialisierung der richtige Weg. Wenn Sie nur eine neue ToString-Methode implementieren möchten, dann Option # 2 –

Verwandte Themen