【问题标题】:Return values from class constructor calling [duplicate]从类构造函数调用返回值[重复]
【发布时间】:2021-05-26 10:24:12
【问题描述】:
[Fact]
public void On_the_hour()
{
    var sut = new Clock(8, 0);
    Assert.Equal("08:00", sut.ToString());
}

我想用具有小时和分钟参数的构造函数创建类时钟。

在另一个类(上面的代码)中调用它后如何返回值? 所以,当我打电话给 Clock.ToString() 我想收到“小时:分钟”

public class Clock
{
    public int Hours;
    public int Minutes;

    public Clock(int hours, int minutes)
    {
        Hours = hours;
        Minutes = minutes;
    }
}

【问题讨论】:

标签: c# tostring


【解决方案1】:

您必须将override ToString() 方法与所需的实现

对于使用zeros 进行填充,您可以使用$"{Hours:00}:{Minutes:00}"

public class Clock
{
   public int Hours;
   public int Minutes;

   public Clock(int hours, int minutes)
   {
       Hours = hours;
       Minutes = minutes;
   }
    
   public override string ToString()
   {
       return $"{Hours:00}:{Minutes:00}";
   }
}

【讨论】:

  • 请改用格式字符串,$"{Hours:00}:{Minutes:00}"
  • @LasseV.Karlsen,是的,好点,最短的版本。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-01-05
  • 2012-08-07
相关资源
最近更新 更多