问题描述
更新:
1.我有一个结果对象,其中包含来自 db 的 100 条数据记录。基于不同的条件,我必须将这些记录存储在列表中。我将每条记录添加到他们满意的条件循环中。但是当我看到最终对象时所有 100 条记录都相同。会出现什么问题?
我在我的方法中尝试了什么:
foreach (var data in MainObj)
{
if (!String.IsNullOrEmpty(data.RealKey))
{
if (data.ResultStatus == "Failed")
{
FailedTestCases.Add(data.TestCases);
}
if (FailedTestCases.Count > 0)
{
alltcPassed = false;
}
else
{
alltcPassed = true;
}
if (isValidKey && alltcPassed)
{
ResultSummary.TestCases = JsonConvert.SerializeObject(FailedTestCases);
ResultSummary.TestType = data.TestType;
ResultSummary.ResultStatus = data.ResultStatus;
result.Add(ResultSummary);
}
if (isValidKey && !alltcPassed)
{
ResultSummary.TestCases = JsonConvert.SerializeObject(FailedTestCases);
ResultSummary.TestType = data.TestType;
ResultSummary.ResultStatus = data.ResultStatus;
result.Add(ResultSummary);
}
if (!isValidKey && alltcPassed)
{
ResultSummary.TestCases = JsonConvert.SerializeObject(FailedTestCases);
ResultSummary.TestType = data.TestType;
ResultSummary.ResultStatus = data.ResultStatus;
result.Add(ResultSummary);
}
if (!isValidKey && !alltcPassed)
{
ResultSummary.TestCases = JsonConvert.SerializeObject(FailedTestCases);
ResultSummary.TestType = data.TestType;
ResultSummary.ResultStatus = data.ResultStatus;
result.Add(ResultSummary);
}
}
// this else happen when this condition true the firstone foreach(!String.IsNullOrEmpty(data.RealKey))
else
{
if (data.ResultStatus == "Failed")
{
FailedTestCases.Add(data.TestCases);
ResultSummary.TestCases = JsonConvert.SerializeObject(FailedTestCases);
ResultSummary.TestType = data.TestType;
ResultSummary.ResultStatus = data.ResultStatus;
result.Add(ResultSummary);
}
if (data.ResultStatus == "Passed" && FailedTestCases.Count==0)
{
ResultSummary.TestCases = data.TestCases;
ResultSummary.TestType = data.TestType;
ResultSummary.ResultStatus = data.ResultStatus;
result.Add(ResultSummary);
}
}
}
return Task.Fromresult(result.FirstOrDefault()); //here result having 100 datas but all are same need to get 100 diffrent record
}
解决方法
我猜您想将 List FailedTestCases = new List();
放在 foreach 循环之外,以便您拥有所有 FailedTestCases。如果您希望列表包含您的 FailedTestCases 和自定义错误消息。您可以尝试做一个对象列表。 Example