COMPARER DES CHAINES DE CARACTÈRES

Signaler
Messages postés
9
Date d'inscription
jeudi 25 septembre 2003
Statut
Membre
Dernière intervention
3 octobre 2003
-
bucherb
Messages postés
412
Date d'inscription
lundi 26 mai 2003
Statut
Membre
Dernière intervention
13 août 2007
-
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/16827-comparer-des-chaines-de-caracteres

bucherb
Messages postés
412
Date d'inscription
lundi 26 mai 2003
Statut
Membre
Dernière intervention
13 août 2007

Si tu ne veux pas prendre la caste (maj/min) en compte, rajoute .ToUpper() ou .ToLower() sur les 2 chaines à comparer..

Waa hé, sur 1 ligne ;-)

using System;static void Main(string[] args){WriteLine((ReadLine(=="bonjour")?"C'est ok":"Faux!");}

A part que c'est mis à la ligne automatiquement lol...
stephga
Messages postés
7
Date d'inscription
jeudi 21 août 2003
Statut
Membre
Dernière intervention
16 novembre 2003

Et pour compare des chaines beaucoups plus longue, tu peut essayer GetHashCode(). si les deux GetHashCode() sont différents, la chaine est différente.ceci permet de pas se prendre la tête avec la casse.

Pour voir les autres, créé une string, et regarde ce qui va deriere le point.....

Bon courrage
mckmonster
Messages postés
10
Date d'inscription
vendredi 2 mai 2003
Statut
Membre
Dernière intervention
6 décembre 2007

Le soucis que tu vas avoir là, c'est que ta comparaison prend la cast en compte (elle verifie Majuscule/minuscule).
kimmelf2
Messages postés
267
Date d'inscription
lundi 22 septembre 2003
Statut
Membre
Dernière intervention
27 novembre 2005

quand tu as un test du style

si test vrai alors variable val1 sinon variable = val2

utilise l'operateur ternaire ?:
variable = test ? val1 : val2
(pour decoder : variable = test ? valeur_si_vrai : valeur_si_faux)

tu peux quasiment tout mettre dans la partie test :
-> booleens
-> numeriques : 0 equivalent a FALSE ; =/= (inegal) 0 equivalent a TRUE
-> char : idem que types numeriques
-> pointeurs/chaine de caracteres : NULL equivalent a FALSE ; =/= NULL equivalent a TRUE

et tu peux imbriquer tout ca. C'est sans conteste la methode la + rapide et la moins gourmande
gg00xiv
Messages postés
656
Date d'inscription
mercredi 22 août 2001
Statut
Membre
Dernière intervention
11 mars 2005
12
using System.Console // erreur !!!

System.Console n'est pas un namespace, c'est une classe :)
B3nJ4m1n
Messages postés
9
Date d'inscription
jeudi 25 septembre 2003
Statut
Membre
Dernière intervention
3 octobre 2003

Qui dit mieux? ;p pour l'instant le record est 4 ligne lol
cs_furybond
Messages postés
10
Date d'inscription
vendredi 13 juin 2003
Statut
Membre
Dernière intervention
29 décembre 2003

using System.Console;
static void Main(string[] args)
{
WriteLine((ReadLine()=="bonjour")?"C'est ok":"Faux!");
}

Encore + court !
cs_Crazyht
Messages postés
1522
Date d'inscription
mardi 18 décembre 2001
Statut
Modérateur
Dernière intervention
21 août 2010
4
static void Main(string[] args)
{
// Vrai mot de passe
string MotDePasse = "bonjour";
if(MotDePasse==System.Console.ReadLine())
{
System.Console.WriteLine("C'est ok");
}
else
{
System.Console.WriteLine("Faux!");
}
}

Bon d'accord c moins clair :)
B3nJ4m1n
Messages postés
9
Date d'inscription
jeudi 25 septembre 2003
Statut
Membre
Dernière intervention
3 octobre 2003

désoler pour les commentaires mal mis