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: victorpatrick en 07 de Agosto de 2023, 04:35:32 AM
¡Hola!

En C#, todos los tipos de datos son tipos de referencia o tipos de valor. Los tipos de referencia almacenan una referencia a un objeto en la memoria, mientras que los tipos de valor almacenan directamente el valor en su ubicación de memoria asignada.

En el caso de los primitivos como int, float, double, char, etc., son tipos de valor. Cuando pasas un tipo de valor a un método, se pasa por valor de forma predeterminada, lo que significa que se crea una copia del valor y se trabaja con esa copia dentro del método. Cualquier cambio que hagas dentro del método no afectará a la variable original fuera del método.
pge outage map (https://pgeoutagemap.com/)
Título: Re:Sobre pasar por referencia en c#
Publicado por: shynissan en 20 de Noviembre de 2023, 11:48:27 AM
De forma predeterminada, un tipo de valor se pasa por valor cuando se pasa a un método; esto significa que el valor se copia y se utiliza dentro del método. La variable original fuera del método no se verá afectada por ninguna modificación que realice dentro del método.
happy wheels (https://happy-wheels.co/)