Tengo un objeto StringBuilder existente, el código le agrega algunos valores y un delimitador. Ahora quiero modificar el código para agregar la lógica de que, antes de agregar el texto, quiero verificar si realmente existe en la variable del generador de cadenas o no. Si no, solo añada lo contrario ignore. ¿Cual es la mejor manera de hacerlo? ¿Debo cambiar el objeto por el tipo de cadena? Necesita un mejor enfoque que no obstaculice un rendimiento.En C#, la mejor manera de comprobar si stringbuilder contiene una subcadena
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 other wise append
strUIDList.Append(RequestContext.accounts[iCntr].uniqueid);
}
rtnvalue = strUIDList.ToString();
}
catch (Exception e)
{
throw;
}
return rtnvalue;
}
No estoy seguro de si es conveniente tener algo así como será eficiente: if (!. StrUIDList.ToString() contiene (RequestContext.accounts [iCntr] .uniqueid.ToString()))
Malo, debería haberlo mencionado, ¿puedo hacer esto sin LINQ? En .net 2.0? –
@ user465876: Puedes, pero personalmente me gustaría tener LINKBridge en su lugar ... LINQ es * tan * útil, vale la pena conseguir el backport. –
Jon, gracias por la propina. Pronto nos moveremos a 3.5 y luego definitivamente usaré LINQ al máximo. Pero por el momento, tengo que apegarme a la solución que no sea LINQ :(Si no te importa, puedes decirme cómo hacer esto en 2.0 sin LINQ/LINQBridge. –