클래스는 Speedrun.AddToTime (h, m, s)을 사용하여 스톱워치 시간에 추가하지 않습니다.스톱워치가 시간을 추가하지 않는 이유는 무엇입니까?
이유에 대한 단서가 없습니다!
class Speedrun
{
private static Stopwatch sr = new Stopwatch();
public static void Go()
{
sr.Reset();
sr.Start();
}
public static string GetTime
{
get
{
return sr.Elapsed.Hours + "h " + sr.Elapsed.Minutes + "m " + sr.Elapsed.Seconds + "s";
}
}
public static void AddToTime(int hours, int minutes, int seconds)
{
TimeSpan ts = new TimeSpan(hours, minutes, seconds);
sr.Elapsed.Add(ts);
}
public static void Stop()
{
sr.Stop();
}
public static void Cont()
{
sr.Start();
}
}
매우 간단합니다. 변수 대신 클래스 이름을 사용하여 참조하고 있습니다. 여기에 표시된대로
Speedrun.Go();
도움이 될만한 정보가 있으면 알려주세요.
업데이트! 여기
싼 해결책은 당신에게 당신은 TimeSpan
에 Add
를 호출하고있는 비슷한 상황
class Speedrun
{
private static Stopwatch sr = new Stopwatch();
private static int addedhours = 0;
private static int addedminutes = 0;
private static int addedseconds = 0;
public static void Go()
{
sr.Reset();
sr.Start();
addedhours = 0;
addedminutes = 0;
addedseconds = 0;
}
public static string GetTime
{
get
{
return (sr.Elapsed.Hours + addedhours) + "h " + (sr.Elapsed.Minutes + addedminutes) + "m " + (sr.Elapsed.Seconds + addedseconds) + "s";
}
}
public static void AddToTime(int hours, int minutes, int seconds)
{
addedhours = addedhours + hours;
addedminutes = addedminutes + minutes;
addedseconds = addedseconds + seconds;
}
public static void Stop()
{
sr.Stop();
}
public static void Cont()
{
sr.Start();
}
}
'TimeSpan이 변경 불가능한 경우에도 변경할 수 있습니까? – vcsjones
오, 알겠습니다. 그러나 여전히 피투성이의 해결책을 찾아 낼 수는 없습니다. 그러나 나는 같은 것을 작동하는 값이 싼 하나를 생각해 냈습니다. 나는 그것을 게시 할 것이다. – JeremyC
@ user537156 : 솔루션이 약간 손상되었습니다. 나는 대안을 제안하도록 편집 할 것이다 ... –