• Inicio
  • Buscar
  • Ingresar
  • Registrarse

    Starfield: el juego que revolucionará el espacio y la tecnología

    • Hack x Crack - Comunidad de Seguridad informática »
    • Programación »
    • Otros »
    • Duda c# métodos
    • Imprimir
    Páginas: [1]   Ir Abajo

    Autor Tema: Duda c# métodos  (Leído 3644 veces)

    Desconectado SMS

    • { L2 } Nativo Digital
    • **
    • Mensajes: 148
      • Ver Perfil
    Duda c# métodos
    « en: Octubre 07, 2014, 07:50:52 pm »
    Hola tengo una dudilla :P

    Si por ejemplo creo una variable de tipo entero por ejemplo

    int prueba = 0;


    y luego pongo al final de la palabra un PUNTO (.)
    prueba.

    sale una lista despegable de METODOS, pero solo unos cuantos, osea por que solo me sale unos cuantos y no todos? ;D ;D ;D

    Por ejemplo, el método Parse no aparece predeterminado cuando pongo por ejemplo  PRUEBA. (no sale en esa lista, el método parse)

    Entonces lo que yo haría sería: int32.parse(loquesea);

    Me sale solo:

    CompareTo
    Equals
    GetHashcode
    GetType
    Gettypecode
    tostring

    existen muchos mas metodos y no los puedo utilizar?

    Mi única lógica que son los predeterminados y se puede utilizar cuando quiera y los otros hay que especificarlo con el namespace y la clase?

    Por ejemplo el método parse no aparece, entonces yo lo que haría es utilizar la CLASE int32, obviamente no voy a espeficiar el namespace system.

    int32.parse(loquesea);

    Creo que lo entendí bien. espero su respueta, gracias

    « Última modificación: Octubre 07, 2014, 08:05:04 pm por SMS »
    En línea

    Desconectado ravenheart

    • { L7 } Juanker
    • *******
    • Mensajes: 1359
    • Todos mis mensajes están bajo la licencia WTFPL v2
      • Ver Perfil
    Re:Duda c# métodos
    « Respuesta #1 en: Octubre 08, 2014, 12:45:51 am »
    Cita de: SMS en Octubre 07, 2014, 07:50:52 pm
    Mi única lógica que son los predeterminados y se puede utilizar cuando quiera y los otros hay que especificarlo con el namespace y la clase?
    Van por ahí los tiros, pero es más bien al contrario.

    Los métodos estáticos se pueden llamar en cualquier situación, especificando primero la clase (el namespace es necesario si no lo cargas con "using" al principio).

    Como ejemplo, el que tú has puesto:
    int valor = int32.parse("123");
    Ten en cuenta que llamar a parse con una variable no tendría mucho sentido.
    Por ejemplo:
    int prueba = 5;
    int resultado = prueba.parse("123");
    ¿Qué pinta ahí prueba? Es un método del tipo, no de la variable.

    Los métodos no estáticos, por el contrario, requieren un objeto (una variable).
    Así, por ejemplo, la clase string tiene el método Reverse, que devuelve el valor de la variable sobre la que se llama dada la vuelta:
    string prueba = "abc";
    string resultado = prueba.Reverse(); // resultado contendrá "cba"; aquí prueba sí que es útil.

    Conviene recordar que estas líneas generales no están escritas en piedra y al final es una decisión de diseño.
    Por ejemplo, en .Net el método IsNullOrEmpty es estático:
    if (String.IsNullOrEmpty(prueba)) { ... }

    En mi opinión, sería más claro si no fuera estático. Es decir, si se pudiera hacer:
    if (prueba.IsNullOrEmpty()) { .... }
    Pero es una mera cuestión de opinión. Al final, se puede hacer todo de cualquiera de las dos maneras.
    En línea
    You do not need hope if you have drama to back you up.

    Desconectado SMS

    • { L2 } Nativo Digital
    • **
    • Mensajes: 148
      • Ver Perfil
    Re:Duda c# métodos
    « Respuesta #2 en: Octubre 08, 2014, 11:02:40 am »
    vale ya se algo mas...

    Pero la verdad es que mi pregunta es otra (a no ser que lo entienda mal)

    A ver los metodos estaticos los puedo utilizar cuando yo quiera, espeficiando primero la clase... ejemplo int32.parse("123");
    Los metodos NO ESTATICOS, son los que aparecen por defecto no? es decir

    cuando yo creo una variable

    Int prueba = 1;
    prueba. (sale una lista despegable) en esa lista despegable  salen los metodos NO ESTATICOS no?

    String prueba = "hola"
    prueba. (aquí salen metodos diferentes a los que salen en el ejemplo de arriba, ya que se trabaja con otro tipo de datos)


    Es decir que si quiero trabajar con el método parse utilizando la variable prueba, no tendria sentido alguno ya que, tendría que espeficiar la clase(int32) y el metodo(parse), si utilizo la variable tendria que poner variable(prueba) y metodo(parse), en definitiva no tendría sentido y creo que no funcionaria no?

    Estoy en lo cierto ya no?
    « Última modificación: Octubre 08, 2014, 01:40:28 pm por SMS »
    En línea

    • Imprimir
    Páginas: [1]   Ir Arriba
    • Hack x Crack - Comunidad de Seguridad informática »
    • Programación »
    • Otros »
    • Duda c# métodos
     

    • SMF | SMF © 2013, Simple Machines
    • XHTML
    • RSS
    • WAP2
    Va un mudo y le dice a un sordo: Hack x Crack usa cookies. Pues eso... Learn more