El siguiente código arroja una ExecutionEngineException cuando ejecuto el lanzamiento ejecutable de compilación (inicie exe file). ¿Es esto un error o es un comportamiento normal? Tipolista genérica de tipos de valores con diseño secuencial y tamaño de paquete -> ¿ERROR?
valor de las dimensiones del paquete = 1:
[StructLayout(LayoutKind.Sequential, Pack = 1)]
public struct RunLong
{
public byte Count;
public long Value;
public RunLong(byte count, long value)
{
Count = count;
Value = value;
}
}
Uso de la estructura en una lista genérica (T), la adición de los valores y obtener o establecer su propiedad de valor hace que el accidente ejecutable si se ha incorporado en la liberación modo. El bloqueo no se produce cuando el ejecutable está integrado en el modo de depuración o cuando se ejecuta el código dentro del depurador de Visual Studio (versión o modo de depuración).
List<RunLong> runs = new List<RunLong>(1024);
for (int i = 0; i < 1000; i++)
{
runs.Add(new RunLong(1, i));
}
RunLong last = runs[runs.Count - 1];
last.Count = (byte)(last.Count + 1);
runs[runs.Count - 1] = last;
¿Alguien puede confirmar esto? Hay una explicación razonable?
Me postulo VS 2010, .NET 4, Win XP SP3
Gracias de antemano!
¿Qué línea arroja la excepción? –
la primera lista .Add llamada –
user410903