SortKey.Compare メソッドとは? わかりやすく解説

SortKey.Compare メソッド

2 つの並べ替えキーを比較します。

名前空間: System.Globalization
アセンブリ: mscorlib (mscorlib.dll 内)
構文構文

Public Shared Function Compare
 ( _
    sortkey1 As SortKey, _
    sortkey2 As SortKey _
) As Integer
Dim sortkey1 As SortKey
Dim sortkey2 As SortKey
Dim returnValue As Integer

returnValue = SortKey.Compare(sortkey1, sortkey2)
public static int Compare
 (
    SortKey sortkey1,
    SortKey sortkey2
)
public:
static int Compare (
    SortKey^ sortkey1, 
    SortKey^ sortkey2
)
public static int Compare
 (
    SortKey sortkey1, 
    SortKey sortkey2
)
public static function Compare
 (
    sortkey1 : SortKey, 
    sortkey2 : SortKey
) : int

パラメータ

sortkey1

比較対象の第 1 並べ替えキー。

sortkey2

比較対象の第 2 並べ替えキー。

戻り値

値

説明

0 より小さい値

sortkey1 が sortkey2 より小さい。

0

sortkey1 と sortkey2 が等価です。

0 より大きい値

sortkey1 が sortkey2 より大きい値です。

例外例外
例外の種類条件

ArgumentNullException

sortkey1 または sortkey2 が null 参照 (Visual Basic では Nothing) です。

解説解説

Compare メソッドは、sortkey1 パラメータおよび sortkey2 パラメータの KeyData プロパティを設定します。

Compare メソッドは CompareInfo.Compare メソッドと同じ結果を生成します。

使用例使用例

Compare メソッドと、同等の処理を行う CompareInfo.Compare(String,String,CompareOptions) メソッドを使用して、2 つの文字列を比較するコード例を次に示します。

' This code example demonstrates the CompareInfo.Compare() and
' SortKey.Compare() methods.

Imports System
Imports System.Globalization

Class Sample
    Public Shared Sub Main()
 
        Dim lowerABC As String
 = "abc"
        Dim upperABC As String
 = "ABC"
        Dim result As Integer
 = 0
        
    ' Create a CompareInfo object for the en-US culture.
        Console.WriteLine(vbCrLf & _
                          "Create a CompareInfo object for the
 en-US culture..." & _
                          vbCrLf)
        Dim cmpi As CompareInfo = CompareInfo.GetCompareInfo("en-US")
    ' Alternatively:
    '   Dim cmpi As CompareInfo = New CultureInfo("en-US").CompareInfo

    ' Create sort keys for lowercase and uppercase "abc",
 the en-US culture, and 
    ' ignore case. 
        Dim sk1LowerIgnCase As SortKey = cmpi.GetSortKey(lowerABC,
 CompareOptions.IgnoreCase)
        Dim sk2UpperIgnCase As SortKey = cmpi.GetSortKey(upperABC,
 CompareOptions.IgnoreCase)
        
    ' Create sort keys for lowercase and uppercase "abc",
 the en-US culture, and 
    ' use case. 
        Dim sk1LowerUseCase As SortKey = cmpi.GetSortKey(lowerABC,
 CompareOptions.None)
        Dim sk2UpperUseCase As SortKey = cmpi.GetSortKey(upperABC,
 CompareOptions.None)
        
    ' Compare lowercase and uppercase "abc", ignoring case
 and using CompareInfo.
        result = cmpi.Compare(lowerABC, upperABC, CompareOptions.IgnoreCase)
        Display(result, "CompareInfo, Ignore case",
 lowerABC, upperABC)
    ' Compare lowercase and uppercase "abc", ignoring case
 and using SortKey.
        result = SortKey.Compare(sk1LowerIgnCase, sk2UpperIgnCase)
        Display(result, "SortKey, Ignore case", lowerABC,
 upperABC)
        Console.WriteLine()
        
    ' Compare lowercase and uppercase "abc", using case and
 using CompareInfo.
        result = cmpi.Compare(lowerABC, upperABC, CompareOptions.None)
        Display(result, "CompareInfo, Use case", lowerABC,
 upperABC)
    ' Compare lowercase and uppercase "abc", using case and
 using SortKey.
        result = SortKey.Compare(sk1LowerUseCase, sk2UpperUseCase)
        Display(result, "SortKey, Use case", lowerABC,
 upperABC)
    End Sub 'Main
    
    ' Display the results of a comparison.
    Private Shared Sub Display(ByVal
 compareResult As Integer, _
                               ByVal title As
 String, _
                               ByVal lower As
 String, _
                               ByVal upper As
 String) 
        Dim lessThan As String
 = "less than "
        Dim equalTo As String
 = "equal to "
        Dim greaterThan As String
 = "greater than "
        Dim resultPhrase As String
 = Nothing
        Dim format As String
 = "{0}:" & vbCrLf & "
    ""{1}"" is {2}""{3}""."
        
        If compareResult < 0 Then
            resultPhrase = lessThan
        ElseIf compareResult > 0 Then
            resultPhrase = greaterThan
        Else
            resultPhrase = equalTo
        End If
        Console.WriteLine(format, title, lower, resultPhrase, upper)
    End Sub 'Display
End Class 'Sample

'
'This code example produces the following results:
'
'Create a CompareInfo object for the en-US culture...
'
'CompareInfo, Ignore case:
'    "abc" is equal to "ABC".
'SortKey, Ignore case:
'    "abc" is equal to "ABC".
'
'CompareInfo, Use case:
'    "abc" is less than "ABC".
'SortKey, Use case:
'    "abc" is less than "ABC".
'
// This code example demonstrates the CompareInfo.Compare() and
// SortKey.Compare() methods.

using System;
using System.Globalization;

class Sample 
{
    public static void Main()
 
    {
    string lowerABC = "abc";
    string upperABC = "ABC";
    int result = 0;

// Create a CompareInfo object for the en-US culture.
    Console.WriteLine("\nCreate a CompareInfo object for
 the en-US culture...\n");
    CompareInfo cmpi = CompareInfo.GetCompareInfo("en-US");
// Alternatively:
//  CompareInfo cmpi = new CultureInfo("en-US").CompareInfo;

// Create sort keys for lowercase and uppercase "abc", the
 en-US culture, and 
// ignore case. 
    SortKey sk1LowerIgnCase = cmpi.GetSortKey(lowerABC, CompareOptions.IgnoreCase);
    SortKey sk2UpperIgnCase = cmpi.GetSortKey(upperABC, CompareOptions.IgnoreCase);

// Create sort keys for lowercase and uppercase "abc", the
 en-US culture, and 
// use case. 
    SortKey sk1LowerUseCase = cmpi.GetSortKey(lowerABC, CompareOptions.None);
    SortKey sk2UpperUseCase = cmpi.GetSortKey(upperABC, CompareOptions.None);

// Compare lowercase and uppercase "abc", ignoring case and
 using CompareInfo.
    result = cmpi.Compare(lowerABC, upperABC, CompareOptions.IgnoreCase);
    Display(result, "CompareInfo, Ignore case", lowerABC,
 upperABC);
// Compare lowercase and uppercase "abc", ignoring case and
 using SortKey.
    result = SortKey.Compare(sk1LowerIgnCase, sk2UpperIgnCase);
    Display(result, "SortKey, Ignore case", lowerABC,
 upperABC);
    Console.WriteLine();

// Compare lowercase and uppercase "abc", using case and using
 CompareInfo.
    result = cmpi.Compare(lowerABC, upperABC, CompareOptions.None);
    Display(result, "CompareInfo, Use case", lowerABC,
 upperABC);
// Compare lowercase and uppercase "abc", using case and using
 SortKey.
    result = SortKey.Compare(sk1LowerUseCase, sk2UpperUseCase);
    Display(result, "SortKey, Use case", lowerABC, upperABC);
    }

// Display the results of a comparison.
    private static void
 Display(int compareResult, string title,
 
                                string lower, string
 upper)
    {
    string lessThan    = "less than ";
    string equalTo     = "equal to ";
    string greaterThan = "greater than ";
    string resultPhrase = null;
    string format = "{0}:\n    \"{1}\" is {2}\"{3}\".";

    if      (compareResult < 0) resultPhrase = lessThan;
    else if (compareResult > 0) resultPhrase
 = greaterThan;
    else                        resultPhrase = equalTo;
    Console.WriteLine(format, title, lower, resultPhrase, upper);
    }
}
/*
This code example produces the following results:

Create a CompareInfo object for the en-US culture...

CompareInfo, Ignore case:
    "abc" is equal to "ABC".
SortKey, Ignore case:
    "abc" is equal to "ABC".

CompareInfo, Use case:
    "abc" is less than "ABC".
SortKey, Use case:
    "abc" is less than "ABC".

*/
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照



英和和英テキスト翻訳

英語⇒日本語日本語⇒英語

辞書ショートカット

すべての辞書の索引

「SortKey.Compare メソッド」の関連用語

SortKey.Compare メソッドのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



SortKey.Compare メソッドのページの著作権

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2026 Microsoft.All rights reserved.

©2026 GRAS Group, Inc.RSS