String.Equals Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Bepaalt of twee String objecten dezelfde waarde hebben.
Overloads
| Name | Description |
|---|---|
| Equals(Object) |
Bepaalt of dit exemplaar en een opgegeven object, dat ook een String object moet zijn, dezelfde waarde hebben. |
| Equals(String) |
Bepaalt of dit exemplaar en een ander opgegeven String object dezelfde waarde hebben. |
| Equals(String, String) |
Bepaalt of twee opgegeven String objecten dezelfde waarde hebben. |
| Equals(String, StringComparison) |
Bepaalt of deze tekenreeks en een opgegeven String object dezelfde waarde hebben. Met een parameter worden de cultuur-, hoofdletter- en sorteerregels opgegeven die in de vergelijking worden gebruikt. |
| Equals(String, String, StringComparison) |
Bepaalt of twee opgegeven String objecten dezelfde waarde hebben. Met een parameter worden de cultuur-, hoofdletter- en sorteerregels opgegeven die in de vergelijking worden gebruikt. |
Equals(Object)
- Bron:
- String.Comparison.cs
- Bron:
- String.Comparison.cs
- Bron:
- String.Comparison.cs
- Bron:
- String.Comparison.cs
- Bron:
- String.Comparison.cs
Bepaalt of dit exemplaar en een opgegeven object, dat ook een String object moet zijn, dezelfde waarde hebben.
public:
override bool Equals(System::Object ^ obj);
public override bool Equals(object obj);
public override bool Equals(object? obj);
override this.Equals : obj -> bool
Public Overrides Function Equals (obj As Object) As Boolean
Parameters
- obj
- Object
De tekenreeks die moet worden vergeleken met dit exemplaar.
Retouren
trueals obj dit een String en de bijbehorende waarde hetzelfde is als dit exemplaar; anders. false Als obj dat het is null, retourneert falsede methode .
Voorbeelden
In het volgende voorbeeld ziet u de Equals methode.
// Sample for String.Equals(Object)
// String.Equals(String)
// String.Equals(String, String)
using System;
using System.Text;
class Sample1
{
public static void Main()
{
StringBuilder sb = new StringBuilder("abcd");
String str1 = "abcd";
String str2 = null;
Object o2 = null;
Console.WriteLine();
Console.WriteLine(" * The value of String str1 is '{0}'.", str1);
Console.WriteLine(" * The value of StringBuilder sb is '{0}'.", sb.ToString());
Console.WriteLine();
Console.WriteLine("1a) String.Equals(Object). Object is a StringBuilder, not a String.");
Console.WriteLine(" Is str1 equal to sb?: {0}", str1.Equals(sb));
Console.WriteLine();
Console.WriteLine("1b) String.Equals(Object). Object is a String.");
str2 = sb.ToString();
o2 = str2;
Console.WriteLine(" * The value of Object o2 is '{0}'.", o2);
Console.WriteLine(" Is str1 equal to o2?: {0}", str1.Equals(o2));
Console.WriteLine();
Console.WriteLine(" 2) String.Equals(String)");
Console.WriteLine(" * The value of String str2 is '{0}'.", str2);
Console.WriteLine(" Is str1 equal to str2?: {0}", str1.Equals(str2));
Console.WriteLine();
Console.WriteLine(" 3) String.Equals(String, String)");
Console.WriteLine(" Is str1 equal to str2?: {0}", String.Equals(str1, str2));
}
}
/*
This example produces the following results:
* The value of String str1 is 'abcd'.
* The value of StringBuilder sb is 'abcd'.
1a) String.Equals(Object). Object is a StringBuilder, not a String.
Is str1 equal to sb?: False
1b) String.Equals(Object). Object is a String.
* The value of Object o2 is 'abcd'.
Is str1 equal to o2?: True
2) String.Equals(String)
* The value of String str2 is 'abcd'.
Is str1 equal to str2?: True
3) String.Equals(String, String)
Is str1 equal to str2?: True
*/
// Sample for String.Equals(Object)
// String.Equals(String)
// String.Equals(String, String)
open System
open System.Text
let sb = StringBuilder "abcd"
let str1 = "abcd"
let str2 = string sb
let o2: obj = str2
printfn $"""
* The value of String str1 is '{str1}'.
* The value of StringBuilder sb is '{sb}'.
1a) String.Equals(Object). Object is a StringBuilder, not a String.
Is str1 equal to sb?: {str1.Equals sb}"
1b) String.Equals(Object). Object is a String.
* The value of Object o2 is '{o2}'.
Is str1 equal to o2?: {str1.Equals o2}
2) String.Equals(String)
* The value of String str2 is '{str2}'.
Is str1 equal to str2?: {str1.Equals str2}
3) String.Equals(String, String)
Is str1 equal to str2?: {String.Equals(str1, str2)}"""
(*
This example produces the following results:
* The value of String str1 is 'abcd'.
* The value of StringBuilder sb is 'abcd'.
1a) String.Equals(Object). Object is a StringBuilder, not a String.
Is str1 equal to sb?: False
1b) String.Equals(Object). Object is a String.
* The value of Object o2 is 'abcd'.
Is str1 equal to o2?: True
2) String.Equals(String)
* The value of String str2 is 'abcd'.
Is str1 equal to str2?: True
3) String.Equals(String, String)
Is str1 equal to str2?: True
*)
' Sample for String.Equals(Object)
' String.Equals(String)
' String.Equals(String, String)
Imports System.Text
Class Sample
Public Shared Sub Main()
Dim sb As New StringBuilder("abcd")
Dim str1 As [String] = "abcd"
Dim str2 As [String] = Nothing
Dim o2 As [Object] = Nothing
Console.WriteLine()
Console.WriteLine(" * The value of String str1 is '{0}'.", str1)
Console.WriteLine(" * The value of StringBuilder sb is '{0}'.", sb.ToString())
Console.WriteLine()
Console.WriteLine("1a) String.Equals(Object). Object is a StringBuilder, not a String.")
Console.WriteLine(" Is str1 equal to sb?: {0}", str1.Equals(sb))
Console.WriteLine()
Console.WriteLine("1b) String.Equals(Object). Object is a String.")
str2 = sb.ToString()
o2 = str2
Console.WriteLine(" * The value of Object o2 is '{0}'.", o2)
Console.WriteLine(" Is str1 equal to o2?: {0}", str1.Equals(o2))
Console.WriteLine()
Console.WriteLine(" 2) String.Equals(String)")
Console.WriteLine(" * The value of String str2 is '{0}'.", str2)
Console.WriteLine(" Is str1 equal to str2?: {0}", str1.Equals(str2))
Console.WriteLine()
Console.WriteLine(" 3) String.Equals(String, String)")
Console.WriteLine(" Is str1 equal to str2?: {0}", [String].Equals(str1, str2))
End Sub
End Class
'
'This example produces the following results:
'
' * The value of String str1 is 'abcd'.
' * The value of StringBuilder sb is 'abcd'.
'
'1a) String.Equals(Object). Object is a StringBuilder, not a String.
' Is str1 equal to sb?: False
'
'1b) String.Equals(Object). Object is a String.
' * The value of Object o2 is 'abcd'.
' Is str1 equal to o2?: True
'
' 2) String.Equals(String)
' * The value of String str2 is 'abcd'.
' Is str1 equal to str2?: True
'
' 3) String.Equals(String, String)
' Is str1 equal to str2?: True
'
Opmerkingen
Met deze methode wordt een ordinale vergelijking (hoofdlettergevoelig en cultuurgevoelig) uitgevoerd.
Zie ook
Van toepassing op
Equals(String)
- Bron:
- String.Comparison.cs
- Bron:
- String.Comparison.cs
- Bron:
- String.Comparison.cs
- Bron:
- String.Comparison.cs
- Bron:
- String.Comparison.cs
Bepaalt of dit exemplaar en een ander opgegeven String object dezelfde waarde hebben.
public:
virtual bool Equals(System::String ^ value);
public:
bool Equals(System::String ^ value);
public bool Equals(string value);
public bool Equals(string? value);
override this.Equals : string -> bool
Public Function Equals (value As String) As Boolean
Parameters
- value
- String
De tekenreeks die moet worden vergeleken met dit exemplaar.
Retouren
true als de waarde van de value parameter gelijk is aan de waarde van dit exemplaar; falseanders. Als value dat het is null, retourneert falsede methode .
Implementeringen
Voorbeelden
In het volgende voorbeeld ziet u de Equals methode. Hiermee wordt het titelwoord 'Bestand' vergeleken met een equivalent woord, het equivalent in kleine letters, het equivalent in hoofdletters en een woord met LATIJNSE KLEINE LETTER DOTLESS I (U+0131) in plaats van LATIJNSE KLEINE LETTER I (U+0069). Omdat de Equals(String) methode een rangtelvergelijking uitvoert, retourneert truealleen de vergelijking met een identiek woord.
using System;
public class Example
{
public static void Main()
{
Console.OutputEncoding = System.Text.Encoding.UTF8;
string word = "File";
string[] others = { word.ToLower(), word, word.ToUpper(), "Fıle" };
foreach (string other in others)
{
if (word.Equals(other))
Console.WriteLine("{0} = {1}", word, other);
else
Console.WriteLine("{0} {1} {2}", word, '\u2260', other);
}
}
}
// The example displays the following output:
// File ≠ file
// File = File
// File ≠ FILE
// File ≠ Fıle
open System
Console.OutputEncoding <- Text.Encoding.UTF8
let word = "File"
let others = [| word.ToLower(); word; word.ToUpper(); "Fıle" |]
for other in others do
if word.Equals other then
printfn $"{word} = {other}"
else
printfn $"{word} \u2260 {other}"
// The example displays the following output:
// File ≠ file
// File = File
// File ≠ FILE
// File ≠ Fıle
Module Example
Public Sub Main()
Console.OutputEncoding = System.Text.Encoding.UTF8
Dim word As String = "File"
Dim others() As String = { word.ToLower(), word, word.ToUpper(), _
"Fıle" }
For Each other As String In others
If word.Equals(other) Then
Console.WriteLine("{0} = {1}", word, other)
Else
Console.WriteLine("{0} {1} {2}", word, ChrW(&H2260), other)
End If
Next
End Sub
End Module
' The example displays the following output:
' File ≠ file
' File = File
' File ≠ FILE
' File ≠ Fıle
Opmerkingen
Met deze methode wordt een ordinale vergelijking (hoofdlettergevoelig en cultuurgevoelig) uitgevoerd.
Zie ook
Van toepassing op
Equals(String, String)
- Bron:
- String.Comparison.cs
- Bron:
- String.Comparison.cs
- Bron:
- String.Comparison.cs
- Bron:
- String.Comparison.cs
- Bron:
- String.Comparison.cs
Bepaalt of twee opgegeven String objecten dezelfde waarde hebben.
public:
static bool Equals(System::String ^ a, System::String ^ b);
public static bool Equals(string a, string b);
public static bool Equals(string? a, string? b);
static member Equals : string * string -> bool
Public Shared Function Equals (a As String, b As String) As Boolean
Parameters
- a
- String
De eerste tekenreeks die moet worden vergeleken, of null.
- b
- String
De tweede tekenreeks die moet worden vergeleken, of null.
Retouren
trueals de waarde a gelijk is aan de waarde van b; anders . false Als beide a en b beide zijn null, retourneert truede methode .
Voorbeelden
In het volgende voorbeeld ziet u de Equals methode.
// Sample for String.Equals(Object)
// String.Equals(String)
// String.Equals(String, String)
using System;
using System.Text;
class Sample1
{
public static void Main()
{
StringBuilder sb = new StringBuilder("abcd");
String str1 = "abcd";
String str2 = null;
Object o2 = null;
Console.WriteLine();
Console.WriteLine(" * The value of String str1 is '{0}'.", str1);
Console.WriteLine(" * The value of StringBuilder sb is '{0}'.", sb.ToString());
Console.WriteLine();
Console.WriteLine("1a) String.Equals(Object). Object is a StringBuilder, not a String.");
Console.WriteLine(" Is str1 equal to sb?: {0}", str1.Equals(sb));
Console.WriteLine();
Console.WriteLine("1b) String.Equals(Object). Object is a String.");
str2 = sb.ToString();
o2 = str2;
Console.WriteLine(" * The value of Object o2 is '{0}'.", o2);
Console.WriteLine(" Is str1 equal to o2?: {0}", str1.Equals(o2));
Console.WriteLine();
Console.WriteLine(" 2) String.Equals(String)");
Console.WriteLine(" * The value of String str2 is '{0}'.", str2);
Console.WriteLine(" Is str1 equal to str2?: {0}", str1.Equals(str2));
Console.WriteLine();
Console.WriteLine(" 3) String.Equals(String, String)");
Console.WriteLine(" Is str1 equal to str2?: {0}", String.Equals(str1, str2));
}
}
/*
This example produces the following results:
* The value of String str1 is 'abcd'.
* The value of StringBuilder sb is 'abcd'.
1a) String.Equals(Object). Object is a StringBuilder, not a String.
Is str1 equal to sb?: False
1b) String.Equals(Object). Object is a String.
* The value of Object o2 is 'abcd'.
Is str1 equal to o2?: True
2) String.Equals(String)
* The value of String str2 is 'abcd'.
Is str1 equal to str2?: True
3) String.Equals(String, String)
Is str1 equal to str2?: True
*/
// Sample for String.Equals(Object)
// String.Equals(String)
// String.Equals(String, String)
open System
open System.Text
let sb = StringBuilder "abcd"
let str1 = "abcd"
let str2 = string sb
let o2: obj = str2
printfn $"""
* The value of String str1 is '{str1}'.
* The value of StringBuilder sb is '{sb}'.
1a) String.Equals(Object). Object is a StringBuilder, not a String.
Is str1 equal to sb?: {str1.Equals sb}"
1b) String.Equals(Object). Object is a String.
* The value of Object o2 is '{o2}'.
Is str1 equal to o2?: {str1.Equals o2}
2) String.Equals(String)
* The value of String str2 is '{str2}'.
Is str1 equal to str2?: {str1.Equals str2}
3) String.Equals(String, String)
Is str1 equal to str2?: {String.Equals(str1, str2)}"""
(*
This example produces the following results:
* The value of String str1 is 'abcd'.
* The value of StringBuilder sb is 'abcd'.
1a) String.Equals(Object). Object is a StringBuilder, not a String.
Is str1 equal to sb?: False
1b) String.Equals(Object). Object is a String.
* The value of Object o2 is 'abcd'.
Is str1 equal to o2?: True
2) String.Equals(String)
* The value of String str2 is 'abcd'.
Is str1 equal to str2?: True
3) String.Equals(String, String)
Is str1 equal to str2?: True
*)
' Sample for String.Equals(Object)
' String.Equals(String)
' String.Equals(String, String)
Imports System.Text
Class Sample
Public Shared Sub Main()
Dim sb As New StringBuilder("abcd")
Dim str1 As [String] = "abcd"
Dim str2 As [String] = Nothing
Dim o2 As [Object] = Nothing
Console.WriteLine()
Console.WriteLine(" * The value of String str1 is '{0}'.", str1)
Console.WriteLine(" * The value of StringBuilder sb is '{0}'.", sb.ToString())
Console.WriteLine()
Console.WriteLine("1a) String.Equals(Object). Object is a StringBuilder, not a String.")
Console.WriteLine(" Is str1 equal to sb?: {0}", str1.Equals(sb))
Console.WriteLine()
Console.WriteLine("1b) String.Equals(Object). Object is a String.")
str2 = sb.ToString()
o2 = str2
Console.WriteLine(" * The value of Object o2 is '{0}'.", o2)
Console.WriteLine(" Is str1 equal to o2?: {0}", str1.Equals(o2))
Console.WriteLine()
Console.WriteLine(" 2) String.Equals(String)")
Console.WriteLine(" * The value of String str2 is '{0}'.", str2)
Console.WriteLine(" Is str1 equal to str2?: {0}", str1.Equals(str2))
Console.WriteLine()
Console.WriteLine(" 3) String.Equals(String, String)")
Console.WriteLine(" Is str1 equal to str2?: {0}", [String].Equals(str1, str2))
End Sub
End Class
'
'This example produces the following results:
'
' * The value of String str1 is 'abcd'.
' * The value of StringBuilder sb is 'abcd'.
'
'1a) String.Equals(Object). Object is a StringBuilder, not a String.
' Is str1 equal to sb?: False
'
'1b) String.Equals(Object). Object is a String.
' * The value of Object o2 is 'abcd'.
' Is str1 equal to o2?: True
'
' 2) String.Equals(String)
' * The value of String str2 is 'abcd'.
' Is str1 equal to str2?: True
'
' 3) String.Equals(String, String)
' Is str1 equal to str2?: True
'
Opmerkingen
Met deze methode wordt een ordinale vergelijking (hoofdlettergevoelig en cultuurgevoelig) uitgevoerd.
Zie ook
Van toepassing op
Equals(String, StringComparison)
- Bron:
- String.Comparison.cs
- Bron:
- String.Comparison.cs
- Bron:
- String.Comparison.cs
- Bron:
- String.Comparison.cs
- Bron:
- String.Comparison.cs
Bepaalt of deze tekenreeks en een opgegeven String object dezelfde waarde hebben. Met een parameter worden de cultuur-, hoofdletter- en sorteerregels opgegeven die in de vergelijking worden gebruikt.
public:
bool Equals(System::String ^ value, StringComparison comparisonType);
public bool Equals(string value, StringComparison comparisonType);
public bool Equals(string? value, StringComparison comparisonType);
override this.Equals : string * StringComparison -> bool
Public Function Equals (value As String, comparisonType As StringComparison) As Boolean
Parameters
- value
- String
De tekenreeks die moet worden vergeleken met dit exemplaar.
- comparisonType
- StringComparison
Een van de opsommingswaarden die aangeeft hoe de tekenreeksen worden vergeleken.
Retouren
trueals de waarde van de value parameter hetzelfde is als deze tekenreeks; anders. false
Uitzonderingen
comparisonType is geen StringComparison waarde.
Voorbeelden
In het volgende voorbeeld wordt een tekenreeksmatrix gemaakt die bestaat uit een hoofdletter 'I', een kleine letter 'i' en een puntloze 'ı'. Vervolgens wordt de Equals(String, StringComparison) methode aangeroepen om deze te vergelijken met behulp van elke mogelijke StringComparison opsommingswaarde.
using System;
class Sample
{
public static void Main()
{
// Define a string array with the following three "I" characters:
// U+0069, U+0131, and U+0049.
string[] threeIs = { "i", "ı", "I" };
// Define Type object representing StringComparison type.
Type scType = typeof(StringComparison);
// Show the current culture (for culture-sensitive string comparisons).
Console.WriteLine("The current culture is {0}.\n",
System.Globalization.CultureInfo.CurrentCulture.Name);
// Perform comparisons using each StringComparison member.
foreach (string scName in Enum.GetNames(scType))
{
StringComparison sc = (StringComparison) Enum.Parse(scType, scName);
Console.WriteLine("Comparisons using {0}:", sc);
// Compare each character in character array.
for (int ctr = 0; ctr <= 1; ctr++)
{
string instanceChar = threeIs[ctr];
for (int innerCtr = ctr + 1; innerCtr <= threeIs.GetUpperBound(0); innerCtr++)
{
string otherChar = threeIs[innerCtr];
Console.WriteLine("{0} (U+{1}) = {2} (U+{3}): {4}",
instanceChar, Convert.ToInt16(Char.Parse(instanceChar)).ToString("X4"),
otherChar, Convert.ToInt16(Char.Parse(otherChar)).ToString("X4"),
instanceChar.Equals(otherChar, sc));
}
Console.WriteLine();
}
}
}
}
// The example displays the following output:
// The current culture is en-US.
//
// Comparisons using CurrentCulture:
// i (U+0069) = ı (U+0131): False
// i (U+0069) = I (U+0049): False
//
// ı (U+0131) = I (U+0049): False
//
// Comparisons using CurrentCultureIgnoreCase:
// i (U+0069) = ı (U+0131): False
// i (U+0069) = I (U+0049): True
//
// ı (U+0131) = I (U+0049): False
//
// Comparisons using InvariantCulture:
// i (U+0069) = ı (U+0131): False
// i (U+0069) = I (U+0049): False
//
// ı (U+0131) = I (U+0049): False
//
// Comparisons using InvariantCultureIgnoreCase:
// i (U+0069) = ı (U+0131): False
// i (U+0069) = I (U+0049): True
//
// ı (U+0131) = I (U+0049): False
//
// Comparisons using Ordinal:
// i (U+0069) = ı (U+0131): False
// i (U+0069) = I (U+0049): False
//
// ı (U+0131) = I (U+0049): False
//
// Comparisons using OrdinalIgnoreCase:
// i (U+0069) = ı (U+0131): False
// i (U+0069) = I (U+0049): True
//
// ı (U+0131) = I (U+0049): False
open System
open System.Globalization
// Define a string array with the following three "I" characters:
// U+0069, U+0131, and U+0049.
let threeIs = [| "i"; "ı"; "I" |]
// Define Type object representing StringComparison type.
let scType = typeof<StringComparison>
// Show the current culture (for culture-sensitive string comparisons).
printfn $"The current culture is {CultureInfo.CurrentCulture.Name}.\n"
// Perform comparisons using each StringComparison member.
for scName in Enum.GetNames scType do
let sc = Enum.Parse(scType, scName) :?> StringComparison
printfn $"Comparisons using {sc}:"
// Compare each character in character array.
for ctr = 0 to 1 do
let instanceChar = threeIs[ctr]
for innerCtr = ctr + 1 to threeIs.GetUpperBound 0 do
let otherChar = threeIs[innerCtr]
printfn $"{instanceChar} (U+{Convert.ToInt16(Char.Parse instanceChar):X4}) = {otherChar} (U+{Convert.ToInt16(Char.Parse otherChar):X4}): {instanceChar.Equals(otherChar, sc)}"
printfn ""
// The example displays the following output:
// The current culture is en-US.
//
// Comparisons using CurrentCulture:
// i (U+0069) = i (U+0131): False
// i (U+0069) = I (U+0049): False
//
// i (U+0131) = I (U+0049): False
//
// Comparisons using CurrentCultureIgnoreCase:
// i (U+0069) = i (U+0131): False
// i (U+0069) = I (U+0049): True
//
// i (U+0131) = I (U+0049): False
//
// Comparisons using InvariantCulture:
// i (U+0069) = i (U+0131): False
// i (U+0069) = I (U+0049): False
//
// i (U+0131) = I (U+0049): False
//
// Comparisons using InvariantCultureIgnoreCase:
// i (U+0069) = i (U+0131): False
// i (U+0069) = I (U+0049): True
//
// i (U+0131) = I (U+0049): False
//
// Comparisons using Ordinal:
// i (U+0069) = i (U+0131): False
// i (U+0069) = I (U+0049): False
//
// i (U+0131) = I (U+0049): False
//
// Comparisons using OrdinalIgnoreCase:
// i (U+0069) = i (U+0131): False
// i (U+0069) = I (U+0049): True
//
// i (U+0131) = I (U+0049): False
Class Sample
Public Shared Sub Main()
' Define a string array with the following three "I" characters:
' U+0069, U+0131, and U+0049.
Dim threeIs() As String = { "i", "ı", "I" }
' Define Type object representing StringComparison type.
Dim scType As Type = GetType(StringComparison)
' Show the current culture (for culture-sensitive string comparisons).
Console.WriteLine("The current culture is {0}." & vbCrLf, _
System.Globalization.CultureInfo.CurrentCulture.Name)
' Perform comparisons using each StringComparison member.
For Each scName As String In [Enum].GetNames(scType)
Dim sc As StringComparison = [Enum].Parse(scType, scName)
Console.WriteLine("Comparisons using {0}:", sc)
' Compare each character in character array.
For ctr As Integer = 0 To 1
Dim instanceChar As String = threeIs(ctr)
For innerCtr As Integer = ctr + 1 To threeIs.GetUpperBound(0)
Dim otherChar As STring = threeIs(innerCtr)
Console.WriteLine("{0} (U+{1}) = {2} (U+{3}): {4}", _
instanceChar, Convert.ToInt16(Char.Parse(instanceChar)).ToString("X4"), _
otherChar, Convert.ToInt16(Char.Parse(otherChar)).ToString("X4"), _
instanceChar.Equals(otherChar, sc))
Next
Console.WriteLine()
Next
Next
End Sub
End Class
' The example displays the following output:
' The current culture is en-US.
'
' Comparisons using CurrentCulture:
' i (U+0069) = i (U+0131): False
' i (U+0069) = I (U+0049): False
'
' i (U+0131) = I (U+0049): False
'
' Comparisons using CurrentCultureIgnoreCase:
' i (U+0069) = i (U+0131): False
' i (U+0069) = I (U+0049): True
'
' i (U+0131) = I (U+0049): False
'
' Comparisons using InvariantCulture:
' i (U+0069) = i (U+0131): False
' i (U+0069) = I (U+0049): False
'
' i (U+0131) = I (U+0049): False
'
' Comparisons using InvariantCultureIgnoreCase:
' i (U+0069) = i (U+0131): False
' i (U+0069) = I (U+0049): True
'
' i (U+0131) = I (U+0049): False
'
' Comparisons using Ordinal:
' i (U+0069) = i (U+0131): False
' i (U+0069) = I (U+0049): False
'
' i (U+0131) = I (U+0049): False
'
' Comparisons using OrdinalIgnoreCase:
' i (U+0069) = i (U+0131): False
' i (U+0069) = I (U+0049): True
'
' i (U+0131) = I (U+0049): False
Opmerkingen
De comparisonType parameter geeft aan of de vergelijking de huidige of invariante cultuur moet gebruiken, het geval moet respecteren of negeren van de twee tekenreeksen die worden vergeleken, of woord- of rangorderegels moeten gebruiken.
Zie ook
Van toepassing op
Equals(String, String, StringComparison)
- Bron:
- String.Comparison.cs
- Bron:
- String.Comparison.cs
- Bron:
- String.Comparison.cs
- Bron:
- String.Comparison.cs
- Bron:
- String.Comparison.cs
Bepaalt of twee opgegeven String objecten dezelfde waarde hebben. Met een parameter worden de cultuur-, hoofdletter- en sorteerregels opgegeven die in de vergelijking worden gebruikt.
public:
static bool Equals(System::String ^ a, System::String ^ b, StringComparison comparisonType);
public static bool Equals(string a, string b, StringComparison comparisonType);
public static bool Equals(string? a, string? b, StringComparison comparisonType);
static member Equals : string * string * StringComparison -> bool
Public Shared Function Equals (a As String, b As String, comparisonType As StringComparison) As Boolean
Parameters
- a
- String
De eerste tekenreeks die moet worden vergeleken, of null.
- b
- String
De tweede tekenreeks die moet worden vergeleken, of null.
- comparisonType
- StringComparison
Een van de opsommingswaarden die de regels voor de vergelijking specificeert.
Retouren
true als de waarde van de a parameter gelijk is aan de waarde van de b parameter; falseanders.
Uitzonderingen
comparisonType is geen StringComparison waarde.
Voorbeelden
In het volgende voorbeeld worden drie sets tekenreeksen vergeleken met behulp van elk lid van de StringComparison opsomming. De vergelijkingen gebruiken de conventies van de Engelse (Verenigde Staten), Thaise (Thailand) en Turkse (Turkije) culturen. Houd er rekening mee dat de tekenreeksen "a" en "a-" als gelijkwaardig worden beschouwd in de "th-TH" cultuur maar niet in de andere, terwijl "i" en "İ" worden beschouwd als gelijkwaardig in de "tr-TR" cultuur wanneer hoofdletters worden genegeerd, maar niet in de andere culturen.
using System;
using System.Globalization;
using System.Threading;
public class Example3
{
public static void Main()
{
String[] cultureNames = { "en-US", "th-TH", "tr-TR" };
String[] strings1 = { "a", "i", "case", };
String[] strings2 = { "a-", "\u0130", "Case" };
StringComparison[] comparisons = (StringComparison[])Enum.GetValues(typeof(StringComparison));
foreach (var cultureName in cultureNames)
{
Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(cultureName);
Console.WriteLine("Current Culture: {0}", CultureInfo.CurrentCulture.Name);
for (int ctr = 0; ctr <= strings1.GetUpperBound(0); ctr++)
{
foreach (var comparison in comparisons)
Console.WriteLine(" {0} = {1} ({2}): {3}", strings1[ctr],
strings2[ctr], comparison,
String.Equals(strings1[ctr], strings2[ctr], comparison));
Console.WriteLine();
}
Console.WriteLine();
}
}
}
// The example displays the following output:
// Current Culture: en-US
// a = a- (CurrentCulture): False
// a = a- (CurrentCultureIgnoreCase): False
// a = a- (InvariantCulture): False
// a = a- (InvariantCultureIgnoreCase): False
// a = a- (Ordinal): False
// a = a- (OrdinalIgnoreCase): False
//
// i = İ (CurrentCulture): False
// i = İ (CurrentCultureIgnoreCase): False
// i = İ (InvariantCulture): False
// i = İ (InvariantCultureIgnoreCase): False
// i = İ (Ordinal): False
// i = İ (OrdinalIgnoreCase): False
//
// case = Case (CurrentCulture): False
// case = Case (CurrentCultureIgnoreCase): True
// case = Case (InvariantCulture): False
// case = Case (InvariantCultureIgnoreCase): True
// case = Case (Ordinal): False
// case = Case (OrdinalIgnoreCase): True
//
//
// Current Culture: th-TH
// a = a- (CurrentCulture): True
// a = a- (CurrentCultureIgnoreCase): True
// a = a- (InvariantCulture): False
// a = a- (InvariantCultureIgnoreCase): False
// a = a- (Ordinal): False
// a = a- (OrdinalIgnoreCase): False
//
// i = İ (CurrentCulture): False
// i = İ (CurrentCultureIgnoreCase): False
// i = İ (InvariantCulture): False
// i = İ (InvariantCultureIgnoreCase): False
// i = İ (Ordinal): False
// i = İ (OrdinalIgnoreCase): False
//
// case = Case (CurrentCulture): False
// case = Case (CurrentCultureIgnoreCase): True
// case = Case (InvariantCulture): False
// case = Case (InvariantCultureIgnoreCase): True
// case = Case (Ordinal): False
// case = Case (OrdinalIgnoreCase): True
//
//
// Current Culture: tr-TR
// a = a- (CurrentCulture): False
// a = a- (CurrentCultureIgnoreCase): False
// a = a- (InvariantCulture): False
// a = a- (InvariantCultureIgnoreCase): False
// a = a- (Ordinal): False
// a = a- (OrdinalIgnoreCase): False
//
// i = İ (CurrentCulture): False
// i = İ (CurrentCultureIgnoreCase): True
// i = İ (InvariantCulture): False
// i = İ (InvariantCultureIgnoreCase): False
// i = İ (Ordinal): False
// i = İ (OrdinalIgnoreCase): False
//
// case = Case (CurrentCulture): False
// case = Case (CurrentCultureIgnoreCase): True
// case = Case (InvariantCulture): False
// case = Case (InvariantCultureIgnoreCase): True
// case = Case (Ordinal): False
// case = Case (OrdinalIgnoreCase): True
open System
open System.Globalization
open System.Threading
let cultureNames =
[| "en-US"; "se-SE" |]
let strings1 =
[| "case"; "encyclopædia"
"encyclopædia"; "Archæology" |]
let strings2 =
[| "Case"; "encyclopaedia"
"encyclopedia"; "ARCHÆOLOGY" |]
let comparisons =
Enum.GetValues typeof<StringComparison> :?> StringComparison[]
for cultureName in cultureNames do
Thread.CurrentThread.CurrentCulture <- CultureInfo.CreateSpecificCulture cultureName
printfn $"Current Culture: {CultureInfo.CurrentCulture.Name}"
for i = 0 to strings1.GetUpperBound 0 do
for comparison in comparisons do
printfn $" {strings1[i]} = {strings2[i]} ({comparison}): {String.Equals(strings1[i], strings2[i], comparison)}"
printfn ""
printfn ""
// The example displays the following output:
// Current Culture: en-US
// case = Case (CurrentCulture): False
// case = Case (CurrentCultureIgnoreCase): True
// case = Case (InvariantCulture): False
// case = Case (InvariantCultureIgnoreCase): True
// case = Case (Ordinal): False
// case = Case (OrdinalIgnoreCase): True
//
// encyclopædia = encyclopaedia (CurrentCulture): True
// encyclopædia = encyclopaedia (CurrentCultureIgnoreCase): True
// encyclopædia = encyclopaedia (InvariantCulture): True
// encyclopædia = encyclopaedia (InvariantCultureIgnoreCase): True
// encyclopædia = encyclopaedia (Ordinal): False
// encyclopædia = encyclopaedia (OrdinalIgnoreCase): False
//
// encyclopædia = encyclopedia (CurrentCulture): False
// encyclopædia = encyclopedia (CurrentCultureIgnoreCase): False
// encyclopædia = encyclopedia (InvariantCulture): False
// encyclopædia = encyclopedia (InvariantCultureIgnoreCase): False
// encyclopædia = encyclopedia (Ordinal): False
// encyclopædia = encyclopedia (OrdinalIgnoreCase): False
//
// Archæology = ARCHÆOLOGY (CurrentCulture): False
// Archæology = ARCHÆOLOGY (CurrentCultureIgnoreCase): True
// Archæology = ARCHÆOLOGY (InvariantCulture): False
// Archæology = ARCHÆOLOGY (InvariantCultureIgnoreCase): True
// Archæology = ARCHÆOLOGY (Ordinal): False
// Archæology = ARCHÆOLOGY (OrdinalIgnoreCase): True
//
//
// Current Culture: se-SE
// case = Case (CurrentCulture): False
// case = Case (CurrentCultureIgnoreCase): True
// case = Case (InvariantCulture): False
// case = Case (InvariantCultureIgnoreCase): True
// case = Case (Ordinal): False
// case = Case (OrdinalIgnoreCase): True
//
// encyclopædia = encyclopaedia (CurrentCulture): False
// encyclopædia = encyclopaedia (CurrentCultureIgnoreCase): False
// encyclopædia = encyclopaedia (InvariantCulture): True
// encyclopædia = encyclopaedia (InvariantCultureIgnoreCase): True
// encyclopædia = encyclopaedia (Ordinal): False
// encyclopædia = encyclopaedia (OrdinalIgnoreCase): False
//
// encyclopædia = encyclopedia (CurrentCulture): False
// encyclopædia = encyclopedia (CurrentCultureIgnoreCase): False
// encyclopædia = encyclopedia (InvariantCulture): False
// encyclopædia = encyclopedia (InvariantCultureIgnoreCase): False
// encyclopædia = encyclopedia (Ordinal): False
// encyclopædia = encyclopedia (OrdinalIgnoreCase): False
//
// Archæology = ARCHÆOLOGY (CurrentCulture): False
// Archæology = ARCHÆOLOGY (CurrentCultureIgnoreCase): True
// Archæology = ARCHÆOLOGY (InvariantCulture): False
// Archæology = ARCHÆOLOGY (InvariantCultureIgnoreCase): True
// Archæology = ARCHÆOLOGY (Ordinal): False
// Archæology = ARCHÆOLOGY (OrdinalIgnoreCase): True
Imports System.Globalization
Imports System.Threading
Module Example
Public Sub Main()
Dim cultureNames() As String = { "en-US", "se-SE" }
Dim strings1() As String = { "case", "encyclopædia",
"encyclopædia", "Archæology" }
Dim strings2() As String = { "Case", "encyclopaedia",
"encyclopedia" , "ARCHÆOLOGY" }
Dim comparisons() As StringComparison = CType([Enum].GetValues(GetType(StringComparison)),
StringComparison())
For Each cultureName In cultureNames
Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(cultureName)
Console.WriteLine("Current Culture: {0}", CultureInfo.CurrentCulture.Name)
For ctr As Integer = 0 To strings1.GetUpperBound(0)
For Each comparison In comparisons
Console.WriteLine(" {0} = {1} ({2}): {3}", strings1(ctr),
strings2(ctr), comparison,
String.Equals(strings1(ctr), strings2(ctr), comparison))
Next
Console.WriteLine()
Next
Console.WriteLine()
Next
End Sub
End Module
' The example displays the following output:
' Current Culture: en-US
' case = Case (CurrentCulture): False
' case = Case (CurrentCultureIgnoreCase): True
' case = Case (InvariantCulture): False
' case = Case (InvariantCultureIgnoreCase): True
' case = Case (Ordinal): False
' case = Case (OrdinalIgnoreCase): True
'
' encyclopædia = encyclopaedia (CurrentCulture): True
' encyclopædia = encyclopaedia (CurrentCultureIgnoreCase): True
' encyclopædia = encyclopaedia (InvariantCulture): True
' encyclopædia = encyclopaedia (InvariantCultureIgnoreCase): True
' encyclopædia = encyclopaedia (Ordinal): False
' encyclopædia = encyclopaedia (OrdinalIgnoreCase): False
'
' encyclopædia = encyclopedia (CurrentCulture): False
' encyclopædia = encyclopedia (CurrentCultureIgnoreCase): False
' encyclopædia = encyclopedia (InvariantCulture): False
' encyclopædia = encyclopedia (InvariantCultureIgnoreCase): False
' encyclopædia = encyclopedia (Ordinal): False
' encyclopædia = encyclopedia (OrdinalIgnoreCase): False
'
' Archæology = ARCHÆOLOGY (CurrentCulture): False
' Archæology = ARCHÆOLOGY (CurrentCultureIgnoreCase): True
' Archæology = ARCHÆOLOGY (InvariantCulture): False
' Archæology = ARCHÆOLOGY (InvariantCultureIgnoreCase): True
' Archæology = ARCHÆOLOGY (Ordinal): False
' Archæology = ARCHÆOLOGY (OrdinalIgnoreCase): True
'
'
' Current Culture: se-SE
' case = Case (CurrentCulture): False
' case = Case (CurrentCultureIgnoreCase): True
' case = Case (InvariantCulture): False
' case = Case (InvariantCultureIgnoreCase): True
' case = Case (Ordinal): False
' case = Case (OrdinalIgnoreCase): True
'
' encyclopædia = encyclopaedia (CurrentCulture): False
' encyclopædia = encyclopaedia (CurrentCultureIgnoreCase): False
' encyclopædia = encyclopaedia (InvariantCulture): True
' encyclopædia = encyclopaedia (InvariantCultureIgnoreCase): True
' encyclopædia = encyclopaedia (Ordinal): False
' encyclopædia = encyclopaedia (OrdinalIgnoreCase): False
'
' encyclopædia = encyclopedia (CurrentCulture): False
' encyclopædia = encyclopedia (CurrentCultureIgnoreCase): False
' encyclopædia = encyclopedia (InvariantCulture): False
' encyclopædia = encyclopedia (InvariantCultureIgnoreCase): False
' encyclopædia = encyclopedia (Ordinal): False
' encyclopædia = encyclopedia (OrdinalIgnoreCase): False
'
' Archæology = ARCHÆOLOGY (CurrentCulture): False
' Archæology = ARCHÆOLOGY (CurrentCultureIgnoreCase): True
' Archæology = ARCHÆOLOGY (InvariantCulture): False
' Archæology = ARCHÆOLOGY (InvariantCultureIgnoreCase): True
' Archæology = ARCHÆOLOGY (Ordinal): False
' Archæology = ARCHÆOLOGY (OrdinalIgnoreCase): True
Opmerkingen
De comparisonType parameter geeft aan of de vergelijking de huidige of invariante cultuur moet gebruiken, het geval moet respecteren of negeren van de twee tekenreeksen die worden vergeleken, of woord- of rangorderegels moeten gebruiken.