string vs String

26/11/2007 - 19:56 por Fuy | Informe spam
Hola, me encuentro leyendo los estándares para programar en C#. Veo
que en ellos cuando declaran una cadena lo hacen de la siguiente
forma:

string raza = "Rat Terrier";

Hace tiempo programaba en Java, por lo que siempre me acostumbre a
hacer lo de la siguiente forma:

String raza = "Rat Terrier";

En C# veo que hay string y String, buscando información sobre ellos
encuentro lo siguiente:

string .- es una colección secuencial de caracteres Unicode que un
texto representa.

String(Objeto).- es una colección secuencial de objetos System.Char
que representan un string.

Como puedo ver es casi lo mismo, podría decir que son un alias.

Pero entonces si quisiera seguir algún estandar para escribir código
en C# cual uso?

ok

ATTE
Fuy

Preguntas similare

Leer las respuestas

#11 Alhambra Eidos Kiquenet
27/11/2007 - 13:54 | Informe spam
Hola,

int no es más que un alias de System.Int32. System.Int32 no es una clase,
sino una estructura (es un tipo por valor). Así que realmente debería ser
indiferente usar uno u otro.

System.Int32:

http://msdn2.microsoft.com/es-es/li...stem.int32(vs.80).aspx

int:

http://msdn2.microsoft.com/es-es/library/5kzh1b5w(VS.80).aspx

La cuestión es que si los tipos por valor (tipos predefinidos, estructuras)
que están en la pila se pueden comportar como tipos por referencia
(montículo, heap). Es eso del box/unbox, no?

Saludos.

"RFOG" wrote:

Mostrar la cita
#12 Octavio Hernandez
27/11/2007 - 14:05 | Informe spam
Hola, Alfredo!

Mostrar la cita
Por un problema de gustos, me imagino, con todo tu derecho :-)
Yo personalmente uso string siempre.

Slds - Octavio
#13 RFOG
27/11/2007 - 14:56 | Informe spam
Sipi.

Primero se pasan de la pila al montículo, copiándolos. Se hace lo que tengan
que hacer y se vuelven a la pila (y todo eso es muy caro en tiempo de
ejecución), excepto en situaciones como las colecciones. Una colección de
ints tendrá cada entero en el montículo, pero almacenado como tipo
referencia, es decir, estará el entero completo, no una referencia a él y el
propio entero en otro lugar de la pila, aunque el objeto colección sí esté
así.

"Alhambra Eidos Kiquenet"
wrote in message news:
Mostrar la cita
Microsoft Visual C++ MVP
==Mi blog sobre programación: http://geeks.ms/blogs/rfog
Mi blog sobre literatura: http://rfog.blogsome.com
Libros, ciencia ficción y programación
La verdadera sabiduría está en reconocer la propia ignorancia.
#14 Alfredo Novoa
27/11/2007 - 16:18 | Informe spam
On Tue, 27 Nov 2007 13:15:58 +0100, "RFOG"
wrote:

Mostrar la cita
Yo no soy tiquismiquis, tu has sido descuidado.

La programación ya es bastante complicada como para aun encima liarla
por ser descuidados con el lenguaje.

Luego pasa lo que pasa y sale gente diciendo que las interfaces no se
pueden heredar.

Mostrar la cita
Pues no se entendía.

En informática muchas veces basta una pequeñísima imprecisión para que
no se entienda o se entienda al revés.

Muchas veces el único grado de precisión aceptable es la precisión
total. Igual que cuando haces un programa y te olvidas de una coma y
ya no compila.

Mostrar la cita
Y donde puedes confundir a la gente si respondes mal, y donde te
pueden corregir si no sabes muy bien lo que dices.

Mostrar la cita
Es decir, valores.

Entonces estás diciendo que el sistema presenta los tipos como si
fuesen valores, lo que no tiene sentido.

Mostrar la cita
Esta definición no es para nada aceptable desde un punto de vista
técnico o científico.

Una clase es un tipo y objeto es la confusión de los conceptos de
valor y variable.

Antropomorfizar los conceptos informáticos es buscarte los problemas
por la mano. Y la OOP cae mucho en ese pecado. Dijkstra ha escrito
bastante sobre las consecuencias de esta malísima costumbre
anglosajona. (Y ya se que Meyer es gabacho:).

Si alguien no sabe lo que es antropomorfizar que lo mire en el
diccionario.

Mostrar la cita
No, un tipo predefinido es un tipo que viene integrado en la
plataforma.

"Pre" significa "antes" como seguro que sabes. Predefinido significa
"definido antes" y nada más ni nada menos.

Cualquier variable de cualquier tipo termina asociandose tarde o
temprano a algún elemento físico de la computadora.

Y por cierto: mapear es espanglish, se dice asociar.

Mostrar la cita
No necesariamente. Lo que dices es bastante habitual por las ventajas
que tiene en el rendimiento, pero por ejemplo ya había enteros de 64
bits cuando los procesadores eran de 32 bits y números de punto
flotante cuando los procesadores no tenían registros para eso. También
existen ahora los enteros largos que no corresponden a ningún
registro, y también podríamos crear un lenguaje con enteros de 128
bits o los bits que queramos.


Saludos
Alfredo
#15 Fuy
29/11/2007 - 21:43 | Informe spam
Gracias por las respuestas de todos, me ha sido de mucha ayuda.

Pero entonces si uso un estándar de C# para escribir código, cual
pongo? string o String. Veo en varios código que usan las dos.

ok

ATTE
Fuy
Ads by Google
Search Busqueda sugerida