void ICarPark.OutCarPark(string cardNum) { Debug.Assert(inCardParkDict.ContainsKey(cardNum), "什么车换块车牌出来了?"); // 获取 进入车库的时间. DateTime inDateTime = inCardParkDict[cardNum]; Debug.Assert(DateTime.Now > inDateTime, "这车时光隧道过来的么?"); // 清除 入库 数据. inCardParkDict.Remove(cardNum); // 计算停车时间. int inTimeMs = (int)(DateTime.Now - inDateTime).TotalMilliseconds; Console.WriteLine( "{0} 于 {1} 离开车库! 停车 {2} 毫秒。", cardNum, DateTime.Now, inTimeMs); // 模拟收银机收取费用. posService.DoSale(inTimeMs); }