Foros - Stratos

Programadores => General Programadores => Mensaje iniciado por: Diferencial en 12 de Abril de 2007, 02:31:45 PM

Título: Sobre pasar por referencia en c#
Publicado por: Diferencial en 12 de Abril de 2007, 02:31:45 PM
Hola a todos,
Me ha surgido esta duda se supone que todos los datos hasta los primitivos en c# son objetos, como puede ser que si quiero cambiar el contenido de una variable de tipo string dentro de un metodo, tengo que pasarla por referencia?
Título: Sobre pasar por referencia en c#
Publicado por: Vicente en 12 de Abril de 2007, 07:27:56 PM
Los strings son inmutables por diseño: es una clase con una cadena de caracteres dentro y tu no puedes tocarla.

Los ints y tal son clases que heredan de System.ValueType, que son clases que se crean en la pila en vez de en el heap (por eso no se pueden modificar).

Un saludo!

Vicente
Título: Sobre pasar por referencia en c#
Publicado por: Diferencial en 12 de Abril de 2007, 07:56:52 PM
Muchas gracias vicente
Título: Re:Sobre pasar por referencia en c#
Publicado por: forgetmeet en 23 de Julio de 2024, 10:25:58 AM
Hi there!

In C#, data types are either reference types or value types. Reference types store a reference to the actual data in memory, whereas value types store the actual data directly in their own memory space.

Take primitives like int, float, double, and char for instance—they're value types. When you pass a value type to a method, it gets passed by value. This means the method works with a copy of the original value. So, any changes you make to the parameter inside the method won't affect the original variable outside the method.

Hope that makes things clearer!
hill climb racing (https://hillclimb-racing.com)