Pourquoi try-catch accélère l'exécution de mon code C# ?
Bonjour à tous. Je suis un développeur C# débutant et j'ai rencontré un comportement très étrange. J'ai une méthode qui traite un tableau de nombres. J'ai décidé de vérifier les performances avec Stopwatch et j'ai découvert que la version avec try-catch est plus rapide que celle sans ! Voici le code simplifié :
```csharp
// Version lente (sans try-catch)
public static void ProcessWithoutTryCatch(int[] data)
{
for (int i = 0; i < data.Length; i++)
{
if (data[i] > 0 && data[i] < 100)
{
// Une logique simple
int result = data[i] * 2;
}
}
}
// Version rapide (avec try-catch)
public static void ProcessWithTryCatch(int[] data)
{
for (int i = 0; i < data.Length; i++)
{
try
{
if (data[i] > 0 && data[i] < 100)
{
int result = data[i] * 2;
}
}
catch (Exception ex)
{
// On ne fait rien
}
}
}
```
J'exécute