E para melhor legibilidade, você pode usar "". Compila exatamente o mesmo que string.Empty atualmente.
PRMan de
10
Substring tem dois 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.
Portanto, para este cenário, você pode usar o primeiro método como este abaixo:
var str ="hello world!";
str = str.Substring(10);
Aqui, o resultado é:
d!
Se você pode aplicar a codificação defensiva, verificando seu comprimento.
C# 8não é compatível com a segmentação .NET Framework.
l33t
0
Chamar SubString()aloca uma nova string. Para obter o desempenho ideal, você deve evitar essa alocação extra. Começando com, C# 7.2você pode tirar vantagem do padrão Span .
Ao direcionar .NET Framework, inclua o pacote System.MemoryNuGet . Para .NET Coreprojetos, isso funciona fora da caixa.
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();}
Respostas:
você precisará realizar as verificações de comprimento; caso contrário, isso geraria um erro
fonte
str = str.Remove(0,10);
Remove os primeiros 10 caracteresou
str = str.Substring(10);
Cria uma substring começando no 11º caractere até o final da string.Para seus objetivos, eles devem funcionar de forma idêntica.
fonte
O substring é provavelmente o que você deseja, como outros apontaram. Mas só para adicionar outra opção ao mix ...
Você nem precisa verificar o comprimento disso! :) Se for menor que 10 caracteres, você obtém uma string vazia.
fonte
Substring
tem dois métodos de sobrecarga:Portanto, para este cenário, você pode usar o primeiro método como este abaixo:
Aqui, o resultado é:
Se você pode aplicar a codificação defensiva, verificando seu comprimento.
fonte
O
Substring
tem um parâmetro chamado startIndex. Defina-o de acordo com o índice em que deseja iniciar.fonte
Você pode remover o caractere usando a linha abaixo,
: - Primeiro verifique se a String tem caracteres suficientes para remover , como
fonte
Use o método substring.
fonte
Você pode usar o método Substring , que usa um único parâmetro, que é o índice a partir do qual começar.
No meu código abaixo, eu lido com o caso em que o comprimento é menor do que o índice inicial desejado e quando o comprimento é zero.
fonte
Para:
Para obter a string resultante sem os primeiros 10 caracteres e uma string vazia se a string for menor ou igual a 10, você pode usar:
ou
A primeira variante é preferida, pois precisa de apenas um parâmetro de método.
fonte
Não há necessidade de especificar o comprimento do
Substring
método. Portanto:p
será:A única exceção que você precisa atender é
ArgumentOutOfRangeException
sestartIndex
for menor que zero ou maior que o comprimento desta instância.fonte
A partir do C # 8, você simplesmente pode usar o Range Operator. É a maneira mais eficiente e melhor de lidar com esses casos.
fonte
C# 8
não é compatível com a segmentação.NET Framework
.Chamar
SubString()
aloca uma nova string. Para obter o desempenho ideal, você deve evitar essa alocação extra. Começando com,C# 7.2
você pode tirar vantagem do padrão Span .Ao direcionar
.NET Framework
, inclua o pacote System.MemoryNuGet
. Para.NET Core
projetos, isso funciona fora da caixa.fonte