IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

valeur absente d'un conteneur


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    205
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 205
    Par défaut valeur absente d'un conteneur
    Bonjour,

    En partant du code suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    try
                {
                    str = website.web.Lists["toto"].toString();
                }
                catch (System.ArgumentException)
    {
    str = "";
    }
    Si l'élément que je cherche n'est pas dans la liste, ça me revoit une exception que je catch. Comment faire ça sans exception et sans itérer sur toute la liste? Y'a-t-il un méthode dans le genre list.isInList("toto") qui renvoie true ou false? (que je puisse faire un if/else au lieu du try/catch)

    Petite question en plus: les exception en c# sont-elle aussi problematiques niveau ressource qu'en c++?

  2. #2
    Membre expérimenté
    Avatar de StormimOn
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    2 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 593
    Par défaut
    Citation Envoyé par julien_iz Voir le message
    Comment faire ça sans exception et sans itérer sur toute la liste?
    A moins d'utiliser un dictionnaire (Framework 2.0) ou un hashet (Framework 3.5), tu es obligé d'itérer. Les méthodes existantes sur les collections (IndexOf, Contains, ...) itèrent et testent chaque élément jusqu'à trouver le bon.

    Citation Envoyé par julien_iz Voir le message
    Y'a-t-il un méthode dans le genre list.isInList("toto") qui renvoie true ou false?
    Avec un dictionnaire ou un hashet.

    Citation Envoyé par julien_iz Voir le message
    Petite question en plus: les exception en c# sont-elle aussi problématiques niveau ressource qu'en c++?
    Une exception est forcément gourmande en ressources (pile des appels, contexte, ...). Après c'est problématique si tu en as toutes les 30 secondes, mais le problème est ailleurs à ce moment ^^

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    205
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 205
    Par défaut
    Comme sharepoint me renvoie une liste, j'ai pas trop le choix sur le type
    Bon bah go itérations, puisque c'est la seule méthode moins gourmande que les exceptions!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 23/12/2010, 16h52
  2. Matrices et valeurs absentes
    Par did10 dans le forum R
    Réponses: 16
    Dernier message: 06/08/2009, 16h57
  3. Filtre sur valeur absente
    Par stdebordeau dans le forum Windows Forms
    Réponses: 2
    Dernier message: 11/05/2009, 12h26
  4. Importation fichier Excel : valeurs absentes
    Par cdtran dans le forum SAS Base
    Réponses: 2
    Dernier message: 07/11/2008, 18h06
  5. Réponses: 8
    Dernier message: 29/07/2008, 11h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo