Petite précision : pour utiliser ce séparateur là pour la question 3, encore faut il être sûr de l'espace utilisé.
Rien n'empeche l'utilisation de l'espace insécable, qui ne serais donc pas prit en compte là.
Dans ce cas l'utilisation de char.IsWhiteSpace s'impose.
Ou pour une gestion plus fine, l'utilisation de Char.GetUnicodeCategory.
Petit exemple illustrant le fond de ma pensée :
char[] cars = new char[]{
' ', // espace "normal"
(char)0xA0 // espace insécable (au clavier, alt+0160)
};
string message = string.Empty;
// comparaison "simple"
message = string.Format("Comparaison simple :\r\n'{0}' est un espace : {1}\r\n'{2}' est un espace : {3}",
cars[0],
cars[0] == ' ',
cars[1],
cars[1] == ' ');
// utilisation de IsWhiteSpace
message = string.Format("Comparaison avec IsWhiteSpace :\r\n'{0}' est un espace : {1}\r\n'{2}' est un espace : {3}",
cars[0],
char.IsWhiteSpace(cars[0]),
cars[1],
char.IsWhiteSpace(cars[1]));
MessageBox.Show(message);
/*
coq
MVP Visual C#
*/