Y para una mejor legibilidad, puede utilizar "". Se compila exactamente igual que string.Empty en estos días.
PRMan
No lo hace, "" crea una nueva cadena, mientras que string.Empty hace referencia a una. Realmente no importa en términos de rendimiento (quiero decir que es una cadena vacía, así que sí ...) pero solo quería señalar eso :)
Zer0
11
Substring tiene dos métodos de sobrecarga:
publicstringSubstring(int startIndex);//The substring starts at a specified character position and continues to the end of the string.publicstringSubstring(int startIndex,int length);//The substring starts at a specified character position and taking length no of character from the startIndex.
Entonces, para este escenario, puede usar el primer método como este a continuación:
var str ="hello world!";
str = str.Substring(10);
Aquí la salida es:
d!
Si puede aplicar la codificación defensiva comprobando su longitud.
C# 8no es compatible con la orientación .NET Framework.
l33t
0
Llamar SubString()asigna una nueva cadena. Para un rendimiento óptimo, debe evitar esa asignación adicional. Comenzando por C# 7.2, puede aprovechar el patrón Span .
Al apuntar .NET Framework, incluya el paquete System.MemoryNuGet . Para .NET Coreproyectos, esto funciona de manera inmediata.
staticvoidMain(string[] args){var str ="hello world!";var span = str.AsSpan(10);// No allocation!// Outputs: d!foreach(var c in span){Console.Write(c);}Console.WriteLine();}
Respuestas:
deberá realizar las comprobaciones de longitud, de lo contrario, esto arrojaría un error
fuente
str = str.Remove(0,10);
Elimina los primeros 10 caractereso
str = str.Substring(10);
Crea una subcadena que comienza en el undécimo carácter hasta el final de la cadena.Para sus propósitos, deberían funcionar de manera idéntica.
fuente
La subcadena es probablemente lo que desea, como señalaron otros. Pero solo para agregar otra opción a la mezcla ...
¡Ni siquiera necesitas verificar la longitud de esto! :) Si tiene menos de 10 caracteres, obtendrá una cadena vacía.
fuente
Substring
tiene dos métodos de sobrecarga:Entonces, para este escenario, puede usar el primer método como este a continuación:
Aquí la salida es:
Si puede aplicar la codificación defensiva comprobando su longitud.
fuente
El
Substring
tiene un parámetro llamado startIndex. Configúrelo de acuerdo con el índice en el que desea comenzar.fuente
Puede eliminar Char usando debajo de la línea,
: - Primero verifique que la cadena tenga suficientes caracteres para eliminar , como
fuente
Utilice el método de subcadena.
fuente
Puede utilizar el método Substring método que toma un solo parámetro, que es el índice para comenzar.
En mi código a continuación, trato el caso en el que la longitud es menor que el índice de inicio deseado y cuando la longitud es cero.
fuente
Por:
Para obtener la cadena resultante sin los primeros 10 caracteres y una cadena vacía si la cadena tiene una longitud menor o igual a 10, puede usar:
o
Se prefiere la primera variante ya que solo necesita un parámetro de método.
fuente
No es necesario especificar la longitud en el
Substring
método. Por lo tanto:p
estarán:La única excepción a la que debe atender es
ArgumentOutOfRangeException
sistartIndex
es menor que cero o mayor que la longitud de esta instancia.fuente
A partir de C # 8, simplemente puede usar Range Operator. Es la forma más eficiente y mejor de manejar estos casos.
fuente
C# 8
no es compatible con la orientación.NET Framework
.Llamar
SubString()
asigna una nueva cadena. Para un rendimiento óptimo, debe evitar esa asignación adicional. Comenzando porC# 7.2
, puede aprovechar el patrón Span .Al apuntar
.NET Framework
, incluya el paquete System.MemoryNuGet
. Para.NET Core
proyectos, esto funciona de manera inmediata.fuente