C# 如何以3种方式显示日期?
我尝试使用int显示日期以3种方式显示我的日期,但每次我调用日期时,输出的日期都是0。 我试着把它们三个分开显示。我试图通过参数调用它们,并将参数设置为3,但仅显示0C# 如何以3种方式显示日期?,c#,C#,我尝试使用int显示日期以3种方式显示我的日期,但每次我调用日期时,输出的日期都是0。 我试着把它们三个分开显示。我试图通过参数调用它们,并将参数设置为3,但仅显示0 using System; public class Date { private int month; private int date; private int year; private int parameter; private int p; private int Di
using System;
public class Date
{
private int month;
private int date;
private int year;
private int parameter;
private int p;
private int DisplayDate;
public Date(int p)
{
this.p = p;
}
public int getmonth()
{
return month;
}
public void setmonth(int m)
{
month = m;
}
public void setmonth(string m)
{
month = int.Parse(m);
}
public int getdate()
{
return date;
}
public void setdate(int d)
{
date = d;
}
public int getyear()
{
return year;
}
public void setyear(int y)
{
year = y;
}
public int getparameter()
{
return parameter;
}
public void setparameter(int p)
{
parameter = p;
if (p <= 3)
{
if (p == 1)
{
setmonth("1");
setdate(22);
setyear(2015);
}
else if (p == 2)
{
setyear(2015);
setmonth("2");
setdate(20);
}
else if (p == 3)
{
setmonth("March");
setdate(10);
setyear(2015);
}
}
}
}
class DateTest
{
static void Main(string[] args)
{
Date D = new Date (3);
Console.WriteLine("The Date is {0}", D.getparameter());
Console.WriteLine("Press any key to close");
Console.ReadKey();
}
}
但您不在代码中设置参数:
public Date(int p)
{
this.p = p;//you set p, not parameter in your constructor
}
如果要设置setParameter方法,应该调用它。您从未调用过setParameter方法,这就是getparameter返回0的原因。 尝试在构造函数中以p作为参数调用它
public Date(int p)
{
this.p = p;
this.setparameter(p);
}
类似于此。如果不调用setparameter,则getparameter返回0,这是int参数字段的默认值。此外,请记住,原始System.DateTime是一种结构值类型,而不是类引用类型。除此之外,现在是学习.NET命名约定的非常好的时机;b了解属性,这是一种比get/set方法更惯用的方法;c告诉我们您希望看到什么,因为您只打印了一次调用D.getparameter的结果。@haim770:我不确定这是否相关,因为这里没有提到DateTime。@haim770:可能,但我认为首先需要担心更大的问题。希望OP只是学习C,而不是真正创建自己的日期/时间API。毕竟,谁会这么做;如果我将参数设置为3,那么在我运行代码之后,我将如何获得输出以显示其他2?类的实际用途是什么?如果设置参数3,则如果不更改代码,则无法输出其他参数。。。或者您可以简单地创建一个新实例,在其中设置其他日期此类的目的是以3种不同格式同时显示3个日期。我显示了1,但如果不返回并更改参数,则无法显示其他2。mhh,您是对的,因此这不是最好的设计,但我认为您需要显示3个日期,为什么不更改实现设计?您不应该调用get参数并等待它返回3个日期,由于它的功能性和OOP=高内聚性和单一责任的基本原则,更好的方法是创建3个实例,每个实例都有一个日期,这是吗?