我正在寫一個小程序作爲跑道的一部分,作爲課程的一部分。 我遇到的問題是,當我嘗試編譯時,我的Duration()
方法在我的Program.cs
類中得到了Cannot convert from void to bool
。 該方法應返回TimeSpan
C#無法從void轉換爲布爾 - CS1503
我看不到它在哪裏被設置爲void
。也許在C#運行時更低一級?不確定。
Program.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Stopwatch
{
class Program
{
static void Main(string[] args)
{
var stopwatch = new StopWatchController();
stopwatch.Start();
stopwatch.Start(); // Second Start() method should throw an exception
stopwatch.Stop();
Console.WriteLine(stopwatch.Duration()); // Error appears here
}
}
}
StopwatchController.cs
using System;
using System.Runtime.CompilerServices;
namespace Stopwatch
{
public class StopWatchController
{
private DateTime _startTime;
private DateTime _finishTime;
private TimeSpan _duration;
private bool _isWatchRunning;
public void Start()
{
if (!_isWatchRunning)
{
_isWatchRunning = !_isWatchRunning;
_startTime = DateTime.Now;
}
else
{
throw new Exception("InvalidArgumentException");
}
}
public void Stop()
{
_isWatchRunning = false;
_finishTime = DateTime.Now;
}
public void Duration() // I'm an idiot
{
_duration = _finishTime - _startTime;
}
}
}
持續時間()是一種無效的方法,但你嘗試的WriteLine它。這不會很好。 –
你的意思是「公共TimeSpan持續時間()」? – 2016-07-26 14:24:46
你必須要密碼:P – BugFinder