我有一個列表,打印出當前顯示在我的應用程序中的每個登錄代理的時間跨度變量。列表打印在我的數據網格上時,每個代理程序都有一個列,每個代理程序都有一個時間範圍。我試圖拉取當前具有最長時間間隔的代理,並將其顯示在另一個變量中,以顯示沒有代理在電話上的最長可用時間。我目前正在使用一個foreach循環作爲我的列表,並試圖從timepan變量中提取時間,坦率地說,我想我不理解這個列表是如何工作的(這裏的業餘程序員)。下面列出我展示了什麼,我只用於時間跨度數學,然後整個foreach循環下面。需要幫助在一個時間範圍內拉最長和最短的時間
var timeSpanSince = DateTime.Now - item.DateTimeUpdated;
newAgents.AgentDateTimeStateChange = timeSpanSince;
var listofTimeSpans = new List<TimeSpan>(AgentDateTimeStateChange);
var min = listofTimeSpans.Min();
var max = listofTimeSpans.Max();
我知道是不是需要很多這一點,但我張貼,試圖開發什麼,我試圖accomplishe
foreach (var item in e.CmsData.Agents)
{
NewAgent newAgents = new ScoreBoardClientTest.NewAgent();
newAgents.AgentName = item.AgName;
newAgents.AgentExtension = item.Extension;
newAgents.AgentDateTimeChange = ConvertedDateTimeUpdated;
newAgents.AuxReasons = item.AuxReasonDescription;
newAgents.LoginIdentifier = item.LoginId;
newAgents.AgentState = item.WorkModeDirectionDescription;
var timeSpanSince = DateTime.Now - item.DateTimeUpdated;
newAgents.AgentDateTimeStateChange = timeSpanSince;
var listofTimeSpans = new List<TimeSpan>(AgentDateTimeStateChange);
var min = listofTimeSpans.Min();
var max = listofTimeSpans.Max();
int breakCount = 0;
foreach (var agent in newAgentList)
{
if (!string.IsNullOrEmpty(agent.AuxReasons) && agent.AuxReasons.StartsWith("Break"))
breakCount++;
}
int lunchCount = 0;
foreach (var agent in newAgentList)
{
if (!string.IsNullOrEmpty(agent.AuxReasons) && agent.AuxReasons.StartsWith("Lunch"))
lunchCount++;
}
newAgentList.Add(newAgents);
if (breakCount > 2)
{
Dispatcher.BeginInvoke(DispatcherPriority.Normal, Action)(() =>
{
inBreakData.Foreground = new SolidColorBrush(Colors.Yellow);
inBreakData.Text = breakCount.ToString();
}));
}else if (breakCount > 3)
{
Dispatcher.BeginInvoke(DispatcherPriority.Normal, (Action)(() =>
{
inBreakData.Foreground = new SolidColorBrush(Colors.Red);
inBreakData.Text = breakCount.ToString();
}));
}
else
{
Dispatcher.BeginInvoke(DispatcherPriority.Normal, (Action)(() =>
{
inBreakData.Foreground = new SolidColorBrush(Colors.Green);
inBreakData.Text = breakCount.ToString();
}));
}
Dispatcher.BeginInvoke(DispatcherPriority.Normal, (Action)(() => { inLunchData.Text = lunchCount.ToString(); }));
}
這樣的問題是什麼?附:你的'否則,如果(breakCount> 3)'是由於'如果(breakCount> 2)'可達 - 每一個值,該值大於3總是大於2,例如4比2更大,所以它甚至不會去to> 3語句 – artgdev
謝謝。我以爲我已經糾正了,但猜測我沒有。無論哪種方式。我正在嘗試爲agentDateTimeStateChange中的所有代理顯示最大時間,並將該時間打印到新的TimeSpan變量,以便只顯示最長時間。當我做新的列表(AgentDateTimeStateChange)它說,它不會在目前的情況下存在,即使其直接上面我用它在代碼的其他地區的。我假設我正在創建這個錯誤列表。我也假設這是實現這一目標的最好方法。 –
mcavanaugh418