Tengo una consulta SQL que devuelve un solo campo: una ID de tipo INT.Int32.TryParse() o (int?) Command.ExecuteScalar()
Y tengo que usarlo como un número entero en el código C#.
¿De qué manera es más rápido y utiliza menos memoria?
o
int? id = (int?)command.ExecuteScalar();
if(id.HasValue)
{
// use id.Value
}
o
int? id = command.ExecuteScalar() as int?;
if(id.HasValue)
{
// use id.Value
}
sé que esto es viejo, pero relevante Donald Knuth cita: "Los programadores perder enormes cantidades de tiempo a pensar, o preocuparse por la velocidad de las partes no críticas de sus programas, y estos intentos de la eficiencia en realidad tienen una fuerte impacto negativo cuando se consideran la depuración y el mantenimiento. Debemos olvidarnos de pequeñas eficiencias, digamos el 97% del tiempo: la optimización prematura es la raíz de todo mal. Sin embargo, no deberíamos dejar pasar nuestras oportunidades en ese crítico 3% ". –
Hola @DannyNeumann, en general, no creo que tenga mucho sentido publicarlo aquí ya que es una pregunta de 2009. En particular, escribir un código eficiente sigue siendo importante. Y así es como aprendí a hacerlo.Todos los días veo códigos horribles y horribles que se ajustan perfectamente a la cita de Knuth. Dicho esto, no se debe perder mucho tiempo en la optimización prematura de las partes no críticas, pero al mismo tiempo no se deben escribir las partes no críticas de manera ineficiente. – abatishchev