Répondre

0

ConfigurationManager.AppSettings est de type NameValueCollection et leur ordre est indéterminée. tableau de chaînes AllKeys de retour sur la base du NameValueCollection, donc son ordre sera également indéterminée.

Voir: NameValueCollection

Collections de ce type ne conservent pas l'ordre de l'élément, et aucun ordre particulier est garanti lors de l'énumération de la collection.

Si vous voulez un ordre défini l'utilisation

ConfigurationManager.AppSettings.AllKeys.OrderBy(r=> r) 
0

Pourquoi serait-il pertinent? C'est une collection clé: si l'ordre est important pour vous, mettez-le dans l'ordre que vous voulez. Vous devez également garder à l'esprit que les données de <appsettings> proviennent de plusieurs sources. Il est extrait de certaines sous-ensemble de

    configuration de la machine
  • (machine.config)
  • configuration de l'application (app.config)
  • configuration spécifique à l'utilisateur
  • applications IIS configuration d'hôte
  • racine web.config
  • une quelconque des un certain nombre de fichiers web.config dans le chemin d'application dans IIS.

En outre, ConfigurationManager.AppSettings est un NameValueCollection. Je soupçonne — mais je ne sais pas avec certitude — que son magasin de support est une table de hachage. Ce, la commande, vous verrez est liée à

  • la valeur de hachage calculée des clés,
  • le seau de hachage auquel les clés sont attribués, et
  • ordre d'insertion
  • (en fait, l'ordre de opérations — insertion et la suppression, car la suppression peut laisser un emplacement vide dans le compartiment de hachage qui est rempli par une insertion ultérieure).

Le même jeu de clés, inséré dans des séquences différentes, afficherait des ordres différents lors de la récupération.

Questions connexes