Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

VB -> C#: `(int)Math.Round(x)` is used instead of `Convert.ToInt32(x)`

Abierto
#1,082 5 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
3/5
Tiempo estimado
1-2 días
Aptitud para principiantes
45/100
Tipo de issue
Error
Claridad
Bien especificado
Estado de actividad
Estancado
Stack tecnológico
csharp, visualbasic
Área
devtools

Línea de trabajo

Reproduce la asignación de Decimal a Integer de VB.NET en la VS extension y rastrea cómo la conversión de C# emite el cast con Math.Round. Compara el resultado con Convert.ToInt32(d), luego verifica la salida esperada y añade o ejecuta una comprobación de regresión para esta entrada.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

enhancement Good for coding agent VB -> C#
VB.Net input code
Dim i As Integer
Dim d As Decimal
i = d
Erroneous output
int i;
var d = default(decimal);
i = (int)Math.Round(d);

This isn't broken (I don't think so), just very confusing to suddenly see rounding where there previously was none.

Expected output
int i;
var d = default(decimal);
i = Convert.ToInt32(d);

This has the additional benefit of looking the same as the VB.NET code decompiled to C# looks like:
SharpLab

Interestingly, explicit operator int(Decimal value) seems to do things slightly differently, so (int)d may not be the same as Convert.ToInt32(d).

Details
  • Product in use: VS extension
  • Version in use: 9.2.5.0
  • Did you see it working in a previous version, which? No
  • Any other relevant information to the issue, or your interest in contributing a fix.
Lenguaje dominante
C#
Estrellas
913
Forks
243
Métricas de merge de PR
Sin PR fusionados en 30 d

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de icsharpcode/CodeConverter

Todos los issues de icsharpcode/CodeConverter

Issues similares

Más issues de C#

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.