C#类中使用DateTime并在主方法调用时的问题求助
解决方法调用错误的问题
错误根源
- 你定义的
PrintDayOfWeek是静态方法,但却用类的实例对象去调用,静态方法需通过类名直接调用。 - 方法定义时没有参数,但调用时传入了3个参数,参数列表完全不匹配。
- 原方法里默认创建的
DateTime是初始值(0001年1月1日),根本无法获取你指定日期的星期。
修正方案(静态方法版本)
先修改类,给方法添加正确的参数,并基于传入值创建DateTime对象:
namespace Week9ObjectsAndClassesHW { public class DayOfWeekHelper { // 注意DateTime构造参数顺序是年、月、日 public static void PrintDayOfWeek(int year, int month, int day) { var dateValue = new DateTime(year, month, day); Console.WriteLine(dateValue.ToString("dddd")); } } }
调用时直接通过类名调用静态方法,无需创建实例:
DayOfWeekHelper.PrintDayOfWeek(2022, 10, 31);
可选方案(实例方法版本)
如果想用实例调用,只需去掉方法的static关键字:
namespace Week9ObjectsAndClassesHW { public class DayOfWeekHelper { public void PrintDayOfWeek(int year, int month, int day) { var dateValue = new DateTime(year, month, day); Console.WriteLine(dateValue.ToString("dddd")); } } }
此时就可以用实例对象调用:
var instance = new DayOfWeekHelper(); instance.PrintDayOfWeek(2022, 10, 31);
内容的提问来源于stack exchange,提问作者wanderingsabs
相关产品推荐
相关产品推荐

