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

#1 jcpc91
26/11/2007 - 20:29 | Informe spam
Desde mi punto de vista da igual si utilizas String o string son la
misma cosa solo ke String es la clase y string es un alias, es una
palabra reservada del lenguaje C# para referirse más rápidamente a una
clase String al igual que pasa con las structuras están las structuras
Int32, Byte, etc pero c# proporciona palabras reservadas como int o
byte que son los alias de una estructura
Respuesta Responder a este mensaje
#2 Alfredo Novoa
27/11/2007 - 00:21 | Informe spam
On Mon, 26 Nov 2007 10:56:32 -0800 (PST), Fuy
wrote:


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



Yo uso string para definir variables y String para invocar métodos
estáticos, pero no se muy bien por que O:-)


Saludos
Alfredo
Respuesta Responder a este mensaje
#3 Alhambra Eidos Kiquenet
27/11/2007 - 09:34 | Informe spam
Hola,

int es un tipo predefinido, Int32 es una clase ? si hereda de system.Object
todo es un objeto, son clases, no ?

Saludos.

"" wrote:

Desde mi punto de vista da igual si utilizas String o string son la
misma cosa solo ke String es la clase y string es un alias, es una
palabra reservada del lenguaje C# para referirse más rápidamente a una
clase String al igual que pasa con las structuras están las structuras
Int32, Byte, etc pero c# proporciona palabras reservadas como int o
byte que son los alias de una estructura

Respuesta Responder a este mensaje
#4 RFOG
27/11/2007 - 10:42 | Informe spam
Más o menos.

A eso lo llamo yo la dualidad onda-corpúsculo escariotrópico gimnésica.
Igual que la indeterminación cuántica existe en física, también existe en
C#...

Bueno, sieno serios, el tema es sencillo:

-Cuando tu usas "int a=4;", o "a=z*b;", el sistema te presenta a dichos
tipos como si fueran tipos integrados y predefinidos.
-Cuando tu usas "string s=a.ToString();", el sistema te presenta dichos
tipos como si fueran objetos.

Realmente es una dualidad interesante (pero que personalmente no me gusta
nada, o se es un tipo predefinido o se es un objeto -sí, ya sé, un objeto
que es un objeto predefinido, como los "intrinsics" de los compiladores),
pero debajo no hay tal. Las variables a,b,z,s son una dirección de memoria,
y cuando se hace algo como a.ToString() se invoca un método sobre dicha
dirección de memoria (*), por lo tanto tanto da que se usen como tipos
predefinidos o como objetos. Simplemente es una abstracción del lenguaje.

(*) Ya sé que no es así, pero a título informativo vale. Si es un tipo valor
su contenido está en una dirección de la pila, si es un tipo referencia,
está partido en dos, un puntero en la pila y el contenido del tipo en el
montículo; cuando se llame a ToString() sobre un tipo valor se usa la
dirección de la pila como el equivalente al objeto apuntado por "this de
C++", cuando se llama con un tipo referencia el proceso es algo más largo ya
que hay que ir al objeto que está en el montículo (que entonces será el
objeto apuntado por el "this de C++"), pero a nivel de abstracción es lo
mismo. Porque a fin de cuentas es lo mismo que en C++ (ya que no creo que
haya otra forma de hacerlo), cuando se llama a un método de una clase, se
llama a un método estático global (es decir, sólo hay uno) que representa
dicho método y al que se le pasa un puntero "this" para identificar a qué
conjunto de datos (objeto) estamos aplicando la operación que haga el método
invocado.


"Alhambra Eidos Kiquenet"
wrote in message news:
Hola,

int es un tipo predefinido, Int32 es una clase ? si hereda de
system.Object
todo es un objeto, son clases, no ?

Saludos.

"" wrote:

Desde mi punto de vista da igual si utilizas String o string son la
misma cosa solo ke String es la clase y string es un alias, es una
palabra reservada del lenguaje C# para referirse más rápidamente a una
clase String al igual que pasa con las structuras están las structuras
Int32, Byte, etc pero c# proporciona palabras reservadas como int o
byte que son los alias de una estructura






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.
Respuesta Responder a este mensaje
#5 Lluis Franco
27/11/2007 - 11:36 | Informe spam
A eso lo llamo yo la dualidad onda-corpúsculo escariotrópico gimnésica.
Igual que la indeterminación cuántica existe en física, también existe en
C#...



Ay Rafa, si te oye Heisenberg... :-D

PD - ¿Que sabes del gato de C#chrödinger ?

Lluís Franco i Montanyés
[MS-MVP-MCP Visual Basic]
Web: http://sps.uyssoft.com
Blog: http://msmvps.com/blogs/lfranco
Geeks: http://geeks.ms/blogs/lfranco
(Guía de netiquette de los foros)
http://sps.uyssoft.com/Foros%20onli...uette.aspx
FIMARGE, S.A.
Principat d'Andorra

Tel.: +376 805 100
Fax: +376 824 500
Mi Perfil MVP en:
https://mvp.support.microsoft.com/profile/Lluis
This posting is provided "AS IS" with no warranties, and confers no rights.
Este mensaje se proporciona "COMO ESTA" sin garantias y no otorga ningun
derecho.
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida