0

これが私の問題です。ATMのエラーをチェックし、データベースに保存されているデータと比較して、各マシンのエラーステータス(解決済み、未解決、新規)のSMSを取得するプログラムを作成したいと思います。プログラムは完了し、正常に動作しますが、クラッシュし、復元後、CompareErrs-methodの条件が動作を停止しました。今のところ、新しいものと同じように解決されたエラーが返されます。これが機能です:-条件を手伝ってください: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
    }
4

1 に答える 1

1
else //if (MachineErrSplit[i].Contains(DBErr))
{
     Errs_Solved += MachineErrSplit[i] + Seperator;
}

if (!DBErr.Contains(MachineErrSplit[i]))
{
     Errs_New += MachineErrSplit[i] + Seperator;
}

これら2つは同一です...同じ値を異なる変数に割り当てます。

なぜなら、他の条件の

if (DBErr.Contains(MachineErrSplit[i]))

と同じです

if (!DBErr.Contains(MachineErrSplit[i]))
于 2013-02-25T08:49:05.827 に答える