C#判断某个操作是否超时
1、新建控制台程序TimeoutTest

2、选中当前解决方案TimeoutTest,并右键选中添加新的类。这里取类名Timeout

3、为Timeout类添加属性
// 设定超时间隔为1000ms
private readonly int TimeoutInterval = 1000;
// lastTicks 用于存储新建操作开始时的时间
public long lastTicks;
// 用于存储操作消耗的时间
public long elapsedTicks;
4、为Timeout类添加构造函数,用于记录实例化Timeout类的时间
public Timeout()
{
lastTicks = DateTime.Now.Ticks;
}
5、为Timeout类添加方法,用于判断是否超时。原理是计算操作花费的时间,并与自定义的超时间隔比较,若大于间隔,则超时。
public bool IsTimeout()
{
elapsedTicks = DateTime.Now.Ticks - lastTicks;
TimeSpan span = new TimeSpan(elapsedTicks);
double diff = span.TotalSeconds;
if (diff > TimeoutInterval)
return true;
else
return false;
}

6、Timeout类的使用方法:
假设有耗时操作:TimeConsumingProcess(),在调用该操作之前先实例化Timeout类,操作结束后调用IsTimeout方法即可判断是否超时。
