C# 将我的类型转换为字符串

C# 将我的类型转换为字符串,c#,persian,persian-calendar,C#,Persian,Persian Calendar,我的课程是: public class PersianDate { public int Year; public int Month; public int Day; public int Hour; public int Minute; public int Second; public string MonthName; } 如果我像这里这样转换它,我想要: HTools.PersianDate pDate=new HTools.P

我的课程是:

public class PersianDate
{
    public int Year;
    public int Month;
    public int Day;
    public int Hour;
    public int Minute;
    public int Second;
    public string MonthName;
}
如果我像这里这样转换它,我想要:

HTools.PersianDate pDate=new HTools.PersianDate();
string date = pDate.ToString();
我希望日期是:

1396-06-14T19:17:38

我该怎么做

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);
    }
}
重写
object
类中的
ToString()
方法以获得所需的格式

重写
object
类中的
ToString()
方法以获得所需的格式


如果您想要将对象表示为json的字符串,可以使用“Newtonsift.json”Nuget包:

PersianDate thing = new PersianDate();
//TODO: fill you thing with the data you need
string json = JsonConvert.SerializeObject(thing);
如果要在类中使用特定的string-OVERRIDE ToString方法:

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

如果您想要将对象表示为json的字符串,可以使用“Newtonsift.json”Nuget包:

PersianDate thing = new PersianDate();
//TODO: fill you thing with the data you need
string json = JsonConvert.SerializeObject(thing);
如果要在类中使用特定的string-OVERRIDE ToString方法:

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

使用string.Format?你试过什么吗?是否覆盖
ToString
?另外,请看一下
PersianCalendar
,不要创建自己的日历。非常感谢,我想拥有自己的日历,我已经知道重写方法,但无法重写现有方法。请使用string.Format?您尝试过什么吗?是否覆盖
ToString
?还可以看看
PersianCalendar
而不是创建自己的日历。非常感谢,我想拥有自己的日历,我已经知道重写方法,但无法重写现有方法。OP从未说过他想使用JSON。您可以建议他使用xml序列化,这同样毫无意义。顺便说一句,你的
ToString()
将返回OP没有要求的格式。他要求的不是直截了当的,我给了他两个选择。如果你看问题的标题,它会说:“将我的类型转换为字符串”。如果您想将您的对象类型“转换”为字符串,序列化是一种方法。如果您只想实现一个新的ToString方法。。然后option#2OP从未说过他想使用JSON。您可以建议他使用xml序列化,这同样毫无意义。顺便说一句,你的
ToString()
将返回OP没有要求的格式。他要求的不是直截了当的,我给了他两个选择。如果你看问题的标题,它会说:“将我的类型转换为字符串”。如果您想将您的对象类型“转换”为字符串,序列化是一种方法。如果您只想实现一个新的ToString方法。。然后选择#2