¿Cuál es el caso en 1.c # (int) Cuándo usar Convert.ToInt32?
Por ejemplo, si hay una cadena de tipo 3, es necesario convertirla en int type (int) 3, aún use Convert.ToInt32 (3), o ambos pueden usarse, ¿por qué?
Respuesta: Ambos se convierten en enteros, pero tienen una longitud diferente. Int es de 16 bits y el siguiente es de 32 bits.
Primero, quiero señalar que en C #, int es en realidad System.Int32, que es de 32 bits.
En segundo lugar, (int) y Convert.ToInt32 son dos conceptos diferentes, los primeros son conversiones de tipos y los últimos son conversiones de contenido, que no siempre son equivalentes. Sabemos que C # proporciona verificación de tipos. No se puede convertir una cadena en un int. La conversión implícita es aún más imposible. Por ejemplo, el siguiente código no funcionará:
string text = " 1412 "; int id = (int) text;
Porque string e int son dos tipos completamente diferentes e incompatibles. Habiendo dicho eso, ¿qué podrías preguntar es compatible? De hecho, puede usar (int) para conversión de tipo fuerte solo para tipos numéricos, como largo, corto, doble, etc., pero debe tener en cuenta el problema de precisión al realizar esta conversión.
Sin embargo, tenemos muy claro que el texto en el código anterior almacena un valor. Queremos extraer este valor y almacenarlo en la forma de int para su posterior operación, luego debe hacer el contenido. Convertido La conversión de contenido también se denomina interpretación de contenido. Podemos lograr el propósito modificando ligeramente el código anterior:
string text = " 1412 "; int id = Convert.ToInt32 (text);
Además de esto, también puede usar Int32.Parse e Int32.TryParse para explicar.
Además, encuentra que Convert.ToInt32 tiene muchas versiones sobrecargadas, como Convert.ToInt32 (valor doble); cuando usamos esta versión para convertir un doble a un int, ToInt32 verificará el valor convertido. Si puede representarse por int, es decir, si se producirá o no "fuera de límites", si lanzará OverflowException, de lo contrario se convertirá para usted, pero use (int) para emitir, si el valor convertido es mayor que Int32.MaxValue, Entonces obtendrá un resultado incorrecto, como el siguiente código:
double d = Int32.MaxValue + 0.1412; int i = (int) d;
Pero no importa qué conversión de valor realice. El problema de precisión debe ser considerado.
1. Cuando Liunx recién comenzó a reiniciar. Aquí presionamos la tecla " e " para ing
Los archivos de arranque de Linux se almacenan en el archivo de configuración grub.conf en el direct
En este artículo se presenta la base de datos DB2 durante el proceso de instalación bajo inux expli
¿Sabes lo que es un sistema Linux? Algunos usuarios no saben mucho acerca de Linux. Linux es un si
Modificar la configuración de IP, DNS y enrutamiento bajo Linux
Awk expresión regular, detalles del operador regular
Pregunta: ¿Por qué no hay una selección de zona horaria de Beijing en Beijing?
¡Linux nginx admite el archivo .htaccess para implementar el método pseudoestático!
Método de arranque sin disco de Linux detallado
U disco forma sencilla de instalar Linux
¿Quién es más seguro con Linux y Windows?
Encuesta de DNS en Linux combinada con Squid reverse proxy
Introducción del comando de Linux: uso de la fuente
Windows XP últimas habilidades de aplicación de seis golpes
La activación de Windows 7 está agrietada por nuevas herramientas
Win 10 Mobile Preview 10134 Cool Exposure
El sistema Win8.1 debajo del panel táctil afecta a la solución de escritura del teclado
Windows 8 Update System Update KB2770917 Solución de fallos en parches
Tutorial de instalación del sistema XP
Cómo generar un informe de estado del sistema para Win8
Introducción a las nuevas características de Winodws8: coche de policía con control remoto
Video sandia no puede reproducir la solucion
¿Qué debo hacer si la nueva biblioteca de Win7 muestra el error 16389?