Comparer des chaines de caractères

Soyez le premier à donner votre avis sur cette source.

Snippet vu 42 864 fois - Téléchargée 25 fois

Contenu du snippet

Je n'ai pas trouver sur ce site (j'ai peut etre mal cherché) un code où il y'a une comparaison de chaine de caractere, j'ai mis du temps en trouver "pourtant c'est tous simple" vous me direz mais je savais pa faire et puis je débute.

Source / Exemple :


using System;

namespace ConsoleApplication1
{
	/// <summary>
	/// Description résumée de Class1.
	/// </summary>
	class Class1
	{
		/// <summary>
		/// Point d'entrée principal de l'application.
		/// </summary>
		[STAThread]
		static void Main(string[] args)
		{
                                                // Vrai mot de passe
			string MotDePasse = "bonjour";
                                                // Le mot de passe que vous entré
			string a = System.Console.ReadLine();
                                                // Test si le string a correspond a MotDePasse
			bool Reponse = (a==MotDePasse);
                                                //Et puis le test...
			if (Reponse==true)
			{
				System.Console.WriteLine("C'est ok");
			}
			else
			{
				System.Console.WriteLine("Faux!");
			}
		}
	}
}

Conclusion :


Voila c'est mon premier code, il a l'air clair, dites moi comment l'optimiser, mais j'espere que sa en aidera certains!

A voir également

Ajouter un commentaire

Commentaires

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 :)

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.