2009-07-13 11 views
1

Ok, je n'ai pas programmé en C# auparavant mais je suis tombé sur ce code et je me demandais ce qu'il faisait. Maintenant, je maintenant qu'il cherche juste et trouve la première occurrence de "." et le remplace par "" mais qu'est-ce qui est exactement dans le ""? Cela supprimerait-il simplement la période ou y a-t-il un caractère espace qui remplace le "."? J'essaie de comprendre comment transférer cette méthode dans Objective-C, mais j'ai besoin de savoir si la période est remplacée par aucun caractère ou un espace.C# Strings - Syntaxe simple Question

someString.Replace(".", "") 
+0

Notez également qu'il s'agit de toutes les occurrences, pas seulement la première. – si618

Répondre

11

"" est juste une chaîne vide. Votre exemple de code remplace toutes les occurrences des périodes sans caractères.

(Notez que la chaîne d'origine est intacte, et la valeur de retour de cette ligne de code sera la chaîne modifiée.)

Il est en fait préférable d'utiliser string.Empty plutôt que « ». C'est parce que string.Empty est beaucoup plus lisible, et est juste un alias pour "", donc il n'y a pas de considération de performance. Sans oublier, si vous utilisez StyleCop, il vous dira de ne pas utiliser "".

+0

Et donc c'est plus facile de dire s'il y a un espace dedans ou pas;) – colithium

+0

C'est sûr! – CalebHC

+0

La performance est liée à l'internement de chaînes et il n'y a qu'une seule instance de la chaîne vide (que String.Empty pointe vers) –

1

Il ne remplace par aucun caractère, une chaîne vide.

7

Aucun caractère. Ce code supprime les points d'une chaîne ... en quelque sorte. La façon dont il devrait vraiment être appelé est:

someString = someString.Replace(".", ""); 

(ou les autres gars disent, il devrait vraiment être)

someString = someString.Replace(".", String.Empty); 
0

est remplacé par aucun caractère à tous. Si vous souhaitez localiser un caractère blanc, vous devez utiliser ""