elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  [C#] Convertir string en int
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [C#] Convertir string en int  (Leído 1,741 veces)
DeMoNcRaZy


Desconectado Desconectado

Mensajes: 420


$~*|_


Ver Perfil
[C#] Convertir string en int
« en: 28 Agosto 2015, 12:47 pm »

Buenas,

Tengo un problema a la hora de pasar un string a un int,

Código
  1. public string valor1;
  2. public float num2;
  3. public int num1 = Convert.ToInt32(valor1);

Y este es el error que me salta, subrayándome la palabra valor1 en el Convert.

Código:
Error CS0236 A field initializer cannot reference the non-static field, method, or property 'sumar.valor1'

sumar es una clase.

Si supieran guiarme a que se debe dicho error lo agradecería.
Lo he echo en el archivo principal y hay me funcionó pero lo hago en una clase y me salta error a parte de haber probado de varias formas diferentes.
Gracias.

Saludos.


En línea

Esta página web no está disponible - Google Chrome
DarK_FirefoX


Desconectado Desconectado

Mensajes: 1.263


Be the change you wanna see in te world


Ver Perfil
Re: [C#] Convertir string en int
« Respuesta #1 en: 28 Agosto 2015, 15:01 pm »

Este error viene dado porque no puedes usar una variable de instancia para inicializar otra variable de instancia.

El problema es que el compilador puedes re-organizar el orden, por lo tanto no hay garantía de que valor1 se inicialize primero que num1 por lo que te puede dar una excepción NullReferenceException

Para darle vuelta a este problema puedes colocar esa linea de código dentro del constructor de tu clase:

Código
  1. public class sumar
  2. {
  3.    public string valor1;
  4.    public float num2;
  5.    public int num1;
  6.  
  7.   //...
  8.   //...
  9.  
  10.   //Este es el constructor, el cual puede variar de acuerdo a tu clase,
  11.   //solo estoy ilustrando
  12.   public sumar()
  13.   {
  14.      //...
  15.      num1 = Convert.ToInt32(valor1);
  16.      //...
  17.    }
  18. }

Salu2s


« Última modificación: 28 Agosto 2015, 15:03 pm por DarK_FirefoX » En línea

DeMoNcRaZy


Desconectado Desconectado

Mensajes: 420


$~*|_


Ver Perfil
Re: [C#] Convertir string en int
« Respuesta #2 en: 28 Agosto 2015, 16:23 pm »

Este error viene dado porque no puedes usar una variable de instancia para inicializar otra variable de instancia.

El problema es que el compilador puedes re-organizar el orden, por lo tanto no hay garantía de que valor1 se inicialize primero que num1 por lo que te puede dar una excepción NullReferenceException

Para darle vuelta a este problema puedes colocar esa linea de código dentro del constructor de tu clase:

Código
  1. public class sumar
  2. {
  3.    public string valor1;
  4.    public float num2;
  5.    public int num1;
  6.  
  7.   //...
  8.   //...
  9.  
  10.   //Este es el constructor, el cual puede variar de acuerdo a tu clase,
  11.   //solo estoy ilustrando
  12.   public sumar()
  13.   {
  14.      //...
  15.      num1 = Convert.ToInt32(valor1);
  16.      //...
  17.    }
  18. }

Salu2s

Gracias por tu respuesta.
Gracias a ello también he deducido que puedo declarar la misma variable dentro de la función.

Saludos.
En línea

Esta página web no está disponible - Google Chrome
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Convertir de String[] a String
.NET (C#, VB.NET, ASP)
¨°o.O (ßa¢Kg|姧) O.o° 3 6,174 Último mensaje 5 Julio 2009, 07:14 am
por 43H4FH44H45H4CH49H56H45H
Convertir Date a string
Java
mr.ads 5 3,808 Último mensaje 24 Julio 2013, 23:41 pm
por 1mpuls0
convertir STRING ^ a LPCWSTR
Programación C/C++
70N1 3 2,335 Último mensaje 13 Octubre 2013, 17:38 pm
por BloodSharp
Convertir un string a char
Programación C/C++
nolasco281 4 4,368 Último mensaje 11 Marzo 2014, 03:07 am
por rir3760
Cómo convertir un string en una lista de strings « 1 2 »
Programación C/C++
JonaLamper 14 6,124 Último mensaje 26 Octubre 2015, 17:33 pm
por DarK_FirefoX
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines