2010-08-02 2 views
-1

comment remarquer si "abcDEf" différent que "abcdef"?comment remarquer si "abcDEf" est différent de "abcdef"?

dans les winforms C#?

remercient à l'avance

+1

Je ne suis pas certain de comprendre: ces chaînes sont différentes, donc ("abcDEf" == "abcdef") renvoie "false". Peut-être que vous ne vous expliquez pas bien. –

Répondre

2
bool aredifferent = "abcDEf" != "abcdef"; 
//OR 
string str1 = "abcDEf", str2 = "abcdef"; 
bool aredifferent2 = str1 != str2; 

opérateur d'égalité de chaîne .NET est sensible à la casse, si simplement l'utiliser retournera false si la chaîne diffère dans le cas.

Toutefois, si vous cherchez à déterminer si deux chaînes sont les mêmes, mais ne diffèrent que par cas, alors vous pouvez utiliser quelque chose comme ceci:

bool differInCase = string.Compare(str1, str2, /*ignoreCase=*/true) == 0 && 
        string.Compare(str1, str2, /*ignoreCase=*/false) != 0;; 
1

Puisque vous êtes dans Winforms, i » m en supposant que vous utilisez System^String. Ils viennent avec un membre "Equals" pour s'occuper de cette situation.

http://msdn.microsoft.com/en-us/library/1hkt4325.aspx

System::String::Equals(str1, str2) 

Ce système retourne un :: Boolean qui est vrai/faux.

Modifier Désolé, je l'ai fait Winforms en C++ pour est trop long..here C#

System.String.Equals(a, b) 

retourne encore un booléen système qui est vrai/faux.

Modifier Modifier

Si vous cherchez à faire insensible à la casse vérification de l'égalité de la culture actuelle:

System.String.Equals(a,b,System.StringComparison.CurrentCultureIgnoreCase) 

Cochez cette page MSDN pour toutes les informations sur l'énumération StringComparison:

http://msdn.microsoft.com/en-us/library/system.stringcomparison.aspx

+0

Ack, bonne prise. J'ai fait Winforms avec Managed C++ .. mais une chaîne système est une chaîne système: -D – Caladain

+0

S'il vous plaît, appelez-le C++/CLI et non * Managed C++ *. * Les extensions managées pour C++ * sont les anciennes versions de l'ère Visual Studio 2002, qui était un vrai bordel et plein de bugs. –

+0

Assez Assez. Toute ma littérature l'appelle Managed C++, mais je n'ai eu aucun problème en l'appelant C++/CLI. Un canard est un canard peu importe ce que vous appelez :-) – Caladain

0

Vous cherchez quelque chose comme ceci?

function IsLowerCase(String input) 
{ 
    return input.Equals(input.ToLower()); 
} 

Cette fonction retournera false si la chaîne d'entrée est en mode mixte ou en majuscule. Si à la place la chaîne d'entrée est en minuscule, elle retournera vrai.

Questions connexes