Так что, по сути, я пытаюсь уменьшить сумму, если используются заявления.
Мне нужно, чтобы сообщение было специфичным для обоих типов сертификатов. Вот что является причиной проблемы. Я мог бы использовать || и && операторы, но тогда мне нужно, чтобы сообщение было немного расплывчатым, чего я не хочу.
Операторы Switch не работают, потому что я использую> и <
Я пытался использовать? но я не мог понять это.
if (compatibilityCerts > 2 && nonCompCerts > 2)
{
rtbSummaryLog.AppendText(string.Format("There Are More Than Two Compatibility And Non-Compatibility Certificates On This Smart Card. {0}", Environment.NewLine));
pctCertificateQuantity.BackColor = Color.Red;
lblCertificateQuantity.Text = "More Than Two Compatibility And Non-Compatibility Certificates Detected";
}
else if (compatibilityCerts == 0 && nonCompCerts == 0)
{
rtbSummaryLog.AppendText(string.Format("There Are No Certificates On This Smart Card. {0}", Environment.NewLine));
pctCertificateQuantity.BackColor = Color.Red;
lblCertificateQuantity.Text = "No Certificates Detected";
}
else if (compatibilityCerts < 2 || nonCompCerts < 2)
{
rtbSummaryLog.AppendText(string.Format("There Are Certificates Missing On This Smart Card. {0}", Environment.NewLine));
pctCertificateQuantity.BackColor = Color.Red;
lblCertificateQuantity.Text = "No Certificates Detected";
}
else
{
if (compatibilityCerts > 2)
{
rtbSummaryLog.AppendText(string.Format("There Are More Than Two Compatibility Certificates On This Smart Card. {0}", Environment.NewLine));
pctCertificateQuantity.BackColor = Color.Red;
lblCertificateQuantity.Text = "More Than Two Compatibility Certificates Detected";
}
else if (nonCompCerts > 2)
{
rtbSummaryLog.AppendText(string.Format("There Are More Than Two Non-Compatibility Certificates On This Smart Card. {0}", Environment.NewLine));
pctCertificateQuantity.BackColor = Color.Red;
lblCertificateQuantity.Text = "More Than Two Non-Compatibility Certificates Detected";
}
else if (compatibilityCerts == 0)
{
rtbSummaryLog.AppendText(string.Format("There Are No Compatibility Certificates On This Smart Card. {0}", Environment.NewLine));
pctCertificateQuantity.BackColor = Color.Red;
lblCertificateQuantity.Text = "No Compatibility Certificates Detected";
}
else if (nonCompCerts == 0)
{
rtbSummaryLog.AppendText(string.Format("There Are No Non-Compatibility Certificates On This Smart Card. {0}", Environment.NewLine));
pctCertificateQuantity.BackColor = Color.Red;
lblCertificateQuantity.Text = "No Non-Compatibility Certificates Detected";
}
else
{
pctCertificateQuantity.BackColor = Color.LightGreen;
lblCertificateQuantity.Text = "Number of Certificates is Valid";
}
}
Необходимо уменьшить операторы if, но сохранить конкретные сообщения.