chaîne de caractères.substring vs chaîne.prendre

Si vous voulez seulement de prendre une partie d'une chaîne, sous-chaîne de la méthode est le plus souvent utilisé.
Cela a un inconvénient que vous devez d'abord tester sur la longueur de la chaîne afin d'éviter des erreurs.
Par exemple, vous voulez enregistrer les données dans une base de données, et que vous voulez couper une valeur de 20 caractères.

Si vous n'temp.substring(0,20) mais temp ne contient 10 caractères, une exception est levée.

Il y a 2 solutions que je vois :

  1. test sur la longueur, et de faire de la sous-chaîne si nécessaire
  2. utiliser l'extension de la méthode Prendre

        string temp = "1234567890";
        var data= new string( temp.Take(20).ToArray());
        --> data now holds "1234657890"

Est-il un inconvénient en termes de vitesse ou de l'utilisation de la mémoire , lorsque l'on utilise la méthode de Prendre.
L'avantage est que vous n'avez pas à écrire à tous ceux si les déclarations.

  • Utiliser un Chronomètre pour effectuer des synchronisations. Aussi, vous pouvez écrire votre propre méthode d'extension de chaîne qui ne peut le vérifier.
  • Je dirais que Prendre énumérer votre Chaîne. Cela peut faire une grande différence avec de longues cordes.
  • La Performance est tellement Contextuel.
  • temp.SubString(0, Math.Min(20, temp.Length))
InformationsquelleAutor Williams | 2013-03-14