L'opérateur || ne peut pas être appliquée à des opérandes de type bool et int

J'ai juste rencontré un problème bizarre, ce matin, qui me font me demander pourquoi tout d'un coup, ce type d'erreur se produit, regardez ce code par exemple:

    if(age == 0 || age == 47 || age = 99)
    {
        name = "Those are lucky numbers!";
    }
    else
    {
        name = "Try again...";
    }

L'erreur est: Erreur CS0019: Opérateur "| | " ne peut pas être appliquée à des opérandes de type 'bool' et de 'int'.

Ce que le...? Hehe... j'ai les moyens de type 'bool' et de 'int' sont les types les plus fréquents, nous allons souhaitez utiliser avec ce type d'opérations. Pourquoi n'auraient-ils pas le travail?

Par ailleurs, je suis sûr que je l'ai fait des milliers de fois avant, je ne comprends pas pourquoi aujourd'hui il se produit... Ou peut-être que je l'ai fait avec le langage Ruby. Encore j'ai vraiment les sentiments qu'il a travaillé avant avec C#.

Que quelqu'un a une explication logique? Quelque chose qui me manque aujourd'hui? 😀

  • Voici le problème: age = 99
  • Cette question semble être hors-sujet, car le problème était juste une erreur de syntaxe.
  • vous avez " = "au lieu de" = = "dans" age = 99'...
  • Vous avez de la chance c'est pas du C++, ou vous ne serait même pas savoir ce qui s'est passé.
  • pourquoi des erreurs de syntaxe hors sujet?
  • comme tout le monde le dit, l'âge=99 est le problème. La raison en est parce que vous attribuez à l'âge de 99 et 99 (un int) devient la main droite opérande. La main gauche opérande est un type bool et il n'est pas défini || l'opérateur qui travaille avec des côté gauche bool, côté droit int.
  • Votre problème n'est pas avec l'opérateur logique. C'est le manque de logique de l'opérateur.
  • Merde, je dois être très fatigué ce matin!!! haha je ne peux pas croire que je n'ai pas le voir.
  • Ils sont peu susceptibles d'aider les futurs visiteurs (au moins dans la manière dont cette question est formulée), et il semble être le consensus général: meta.stackexchange.com/questions/160275/...
  • c'est obsolète... pré - fermer le vote de la révision.
  • le problème c'est que c'est évidemment un duplicata de zillions de question. J'ai fait le titre plus précis, googlé et a obtenu ce stackoverflow.com/questions/4007493/...
  • dans l'avenir, envoyez à google votre message d'erreur, ce serait de vous montrer votre problème. Downvoted depuis cette recherche était manquant.

InformationsquelleAutor TheScholar | 2013-12-09