В C #, лучший способ проверить, содержит ли построитель строк подстроку

У меня есть существующий объект 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()))
10
задан CarenRose 3 December 2019 в 20:55
поделиться