Il s'agit d'un programme de base inverse de chaîne et je veux y faire un certain niveau de gestion des exceptions. Mais lors de la compilation, il me donne une erreur « tous les chemins de code valeur de retour. Je ne suis pas en mesure de savoir pourquoiobtenir l'erreur pas tous les chemins de code retournent la valeur par le compilateur C#
public static string Reverse(string s)
{
try
{
if (string.IsNullOrEmpty(s))
{
throw new NullReferenceException();
}
char[] c = s.ToCharArray();
int start = 0;
int end = c.Length - 1;
char temp;
while (start < end)
{
temp = c[start];
c[start] = c[end];
c[end] = temp;
start++;
end--;
}
return new string(c);
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
}
Merci les gars ... Je change le code à quelque chose comme ça
public static string Reverse(string s)
{
if (!string.IsNullOrEmpty(s))
{
char[] c = s.ToCharArray();
int start = 0;
int end = c.Length - 1;
char temp;
while (start < end)
{
temp = c[start];
c[start] = c[end];
c[end] = temp;
start++;
end--;
}
return new string(c);
}
else return s;
}
Petite critique sur votre 2ème version: Si le paramètre est nul, vous devez soit jeter ou de retourner une chaîne vide. La propagation de null n'est pas très utile (dans cette situation). –