Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

255
Visualizações
¿Impacto de usar la palabra clave 'ref' para parámetros de cadena en métodos en C#?

Como programador que no tiene una buena idea sobre la canalización de .NET, me preguntaba si el uso de cadenas de referencia como parámetros es bueno para el rendimiento en C#.

Digamos que tengo un método como este:

 public int FindSomething(string text) { // Finds a char in the text and returns its index }

Cuando uso este método, el compilador crea una copia del texto para el método, ¿verdad?

Pero si uso la palabra clave ref :

 public int FindSomething(ref string text) { // Finds a char in the text and returns its index }

.. el compilador solo debe enviar la dirección del puntero del texto...

Entonces, ¿es bueno para el rendimiento usar una ref como esta?

over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

Cuando uso este método, el compilador crea una copia del texto para el método, ¿verdad?

No, no lo hace. string es un tipo de referencia, y el compilador creará una nueva variable de pila que apunta a la misma string representada en una dirección de memoria determinada. No copiará la cadena.

Cuando usa ref en un tipo de referencia, no habrá una copia del puntero a la string creada. Simplemente pasará la referencia ya creada. Esto es útil solo cuando desea crear una string completamente nueva:

 void Main() { string s = "hello"; M(s); Console.WriteLine(s); M(ref s); Console.WriteLine(s); } public void M(string s) { s = "this won't change the original string"; } public void M(ref string s) { s = "this will change the original string"; }

Entonces, ¿es bueno para el rendimiento usar una referencia como esta?

Las ganancias de rendimiento no serán perceptibles. Lo que sucederá es que otros desarrolladores se confundan sobre por qué usó ref para pasar la cadena.

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda