У меня есть существующий объект StringBuilder
, код добавляет некоторые значения и разделитель к это.
Я хочу изменить код, чтобы добавить логику, которая перед добавлением текста проверяет, существует ли он уже в StringBuilder
. Если нет, только тогда будет добавлен текст, в противном случае он игнорируется.
Как лучше всего это сделать? Мне нужно изменить объект на тип строка
? Мне нужен лучший подход, который не снизит производительность.
public static string BuildUniqueIDList(context RequestContext)
{
string rtnvalue = string.Empty;
try
{
StringBuilder strUIDList = new StringBuilder(100);
for (int iCntr = 0; iCntr < RequestContext.accounts.Length; iCntr++)
{
if (iCntr > 0)
{
strUIDList.Append(",");
}
// need to do somthing like:
// strUIDList.Contains(RequestContext.accounts[iCntr].uniqueid) then continue
// otherwise append
strUIDList.Append(RequestContext.accounts[iCntr].uniqueid);
}
rtnvalue = strUIDList.ToString();
}
catch (Exception e)
{
throw;
}
return rtnvalue;
}
Я не уверен, будет ли что-то вроде этого эффективным:
if (!strUIDList.ToString().Contains(RequestContext.accounts[iCntr].uniqueid.ToString()))