C# 我如何构造完美的条件
这是我的问题:我想创建一个程序来检查ATM中的错误,并将其与数据库中保存的数据进行比较,以获得一条短信,其中包含每台机器的错误状态(已解决、未解决、新)。程序完成了,工作正常,但崩溃了,在还原C# 我如何构造完美的条件,c#,if-statement,C#,If Statement,这是我的问题:我想创建一个程序来检查ATM中的错误,并将其与数据库中保存的数据进行比较,以获得一条短信,其中包含每台机器的错误状态(已解决、未解决、新)。程序完成了,工作正常,但崩溃了,在还原比较器中的条件后,方法停止工作。正如它现在假设的那样,它返回与新错误相同的已解决错误。以下是函数:- 请帮助解决以下条件:S private object[] CompareErrs(string MachineErr, string DBErr) { #reg
比较器中的条件后,方法停止工作。正如它现在假设的那样,它返回与新错误相同的已解决错误。以下是函数:-
请帮助解决以下条件:S
private object[] CompareErrs(string MachineErr, string DBErr)
{
#region CompareErrs
object[] ToReturn = new object[2];
string Errs_Solved = "";
string Errs_UnSolved = "";
string Errs_New = "";
string[] MachineErrSplit = MachineErr.Split(' ');
for (int i = 0; i < MachineErrSplit.Length; i++)
{
string Seperator = " ";
//if (i == MachineErrSplit.Length - 1)
// Seperator = "";
if (DBErr.Contains(MachineErrSplit[i]))
{
Errs_UnSolved += MachineErrSplit[i] + Seperator;
}
else //if (MachineErrSplit[i].Contains(DBErr))
{
Errs_Solved += MachineErrSplit[i] + Seperator;
}
if (!DBErr.Contains(MachineErrSplit[i]))
{
Errs_New += MachineErrSplit[i] + Seperator;
}
}
ToReturn[0] = new string[3] { Errs_Solved, Errs_UnSolved, Errs_New };
ToReturn[1] = MachineErr;
return ToReturn;
#endregion
}
private object[]比较器(string MachineErr,string DBErr)
{
#区域比较器
对象[]返回=新对象[2];
字符串Errs_Solved=“”;
字符串Errs_UnSolved=“”;
字符串Errs_New=“”;
字符串[]MachineErrSplit=MachineErr.Split(“”);
对于(int i=0;i
这两个是相同的。。。将相同的值分配给不同的变量
因为,否则的情况
if (DBErr.Contains(MachineErrSplit[i]))
与
if (!DBErr.Contains(MachineErrSplit[i]))
预期的输出是什么?崩溃,你的意思是,它抛出了一个异常?你能提供一些细节吗?而且,如果DBErr
只包含“未解决”的错误,那么您不也应该有一个“已解决”错误的列表吗?此外,将错误列表存储在单个字符串中是一个非常糟糕的主意。不,这不是例外,但正如您在评论中所说的,已解决的错误和新错误都是相同的。我现在需要做的就是正确处理条件
if (!DBErr.Contains(MachineErrSplit[i]))