我得到错误的计数错误,我无法弄清楚原因。
在我的数据库serverId = 1/2/3中,每个服务器只有一个启动值和3个未启动值。
painfo = (from paes in server.AppPM_Paes
where (paes.PaStatus == "Started" || paes.PaStatus == "NotStarted" ) && paes.ServerId != null
select new PaDetails { ServerID = paes.ServerId, PaStatus = paes.PaStatus }).ToList();
foreach (PaDetails a in painfo)
{
if (a.PaStatus.Contains("Started") && a.ServerID.Equals(1))
stCount1++;
if (a.PaStatus.Contains("Started") && a.ServerID.Equals(2))
stCount2++;
if (a.PaStatus.Contains("Started") && a.ServerID.Equals(3))
stCount3++;
if (a.PaStatus.Contains("NotStarted") && a.ServerID.Equals(1))
notStCount1++;
if (a.PaStatus.Contains("NotStarted") && a.ServerID.Equals(2))
notStCount2++;
if (a.PaStatus.Contains("NotStarted") && a.ServerID.Equals(3))
notStCount3++;
}
但是在上面的代码中(stCount# - >开始计数),stCount#
的值为4而不是1.
我的代码出了什么问题?
你能帮帮我吗?
答案 0 :(得分:1)
你正在做.Contains("Started")
。这将包括其中包含单词“Started”的任何字符串,包括“NotStarted”
您可以将其更改为a.PaStatus == "Started"
或a.PaStatus.Equals("Started")