У меня есть функция, которая выполняет ряд процессов и шагов. Я хочу регистрировать выполнение каждого шага в одной строке и вставлять эту строку в свою базу данных для ежедневного просмотра. Приведенный ниже фрагмент кода способен выполнить это, но, глядя на него, лично это бельмо на глазу, и я уверен, что должен быть более эффективный способ добиться этого, но ничего не приходит на ум из-за отсутствия у меня глубоких знаний. Мне было интересно, может ли кто-нибудь предложить лучшую альтернативу формированию окончательной строки «результата».
Примечание: я удалил процессы и функции, задействованные в исходном фрагменте, чтобы сосредоточиться на той области, в которой я работаю. ищу улучшения. Основное внимание уделяется формированию строки «результат».
Код: Выделить всё
if (ballotingIPOs.Count > 0)
{
string sBallotIPO = "Balloting IPO(s): ";
string sProcessTape = "Processed Tape for Share Issue Number(s): ";
string sNoTape = "No Tape found for Share Issue Number(s): ";
string tsBallotIPO = string.Empty;
string tsProcessTape = string.Empty;
string tsNoTape = string.Empty;
foreach (IPODetails ballotingIPO in ballotingIPOs)
{
tsBallotIPO += tsBallotIPO.Length > 0 ? $", {ballotingIPO.ShareIssueNumber}" : $"{ballotingIPO.ShareIssueNumber}";
if (ipoData.ipoDetails.ShareIssueNumber != null)
{
tsProcessTape += tsProcessTape.Length > 0 ? $", {ipoData.ipoDetails.ShareIssueNumber} (Tape{ipoData.ipoDetails.TapeNumber})" : $"{ipoData.ipoDetails.ShareIssueNumber} (Tape{ipoData.ipoDetails.TapeNumber})";
}
else
{
tsNoTape += tsNoTape.Length > 0 ? $", {ipoData.ipoDetails.ShareIssueNumber}" : $"{ipoData.ipoDetails.ShareIssueNumber}";
}
}
result += tsNoTape.Length > 0 ? $"{sBallotIPO}{tsBallotIPO}. {sProcessTape}{tsProcessTape}. {sNoTape}{tsNoTape}." : $"{sBallotIPO}{tsBallotIPO}. {sProcessTape}{tsProcessTape}.";
}
else
{
result += "No Balloting IPOs to process.";
}
Подробнее здесь: https://stackoverflow.com/questions/793 ... ng-snippet
Мобильная версия