📜  C#| CompareOrdinal()方法

📅  最后修改于: 2021-05-29 19:13:54             🧑  作者: Mango

在C#中, CompareOrdinal()是一个字符串方法。此方法用于使用每个字符串或子字符串相应的Char对象的数值来比较两个指定的字符串对象或子字符串。可以通过向其传递不同的参数来重载此方法。

  • CompareOrdinal(字符串,字符串)
  • CompareOrdinal(String,Int32,String,Int32,Int32)

CompareOrdinal(字符串,字符串)

此方法用于通过计算每个字符串对应的Char对象的数值来比较两个特定的String对象

句法:

public static int CompareOrdinal(
    string strA, string strB)
  • 参数:此方法接受两个参数strAstrB 。 StrA是要比较的第一个字符串,而strB是要比较的第二个字符串。这两个参数的类型都是System.String
  • 返回值:此方法返回System.Int32类型的整数值。如果两个字符串相等,则返回0。如果第一个字符串大于第二个字符串,则返回正数;否则,返回负数。

例子:

Input: 
              string s1 = "GFG";    
              string s2 = "GFG"; 

              string.CompareOrdinal(s1, s2)
Output: 0

Input: 
              string s1 = "hello";    
              string s2 = "csharp"; 
              string.CompareOrdinal(s1, s2)

Output: 5

Input: 
              string s1 = "csharp";    
              string s2 = "mello";
 
              string.CompareOrdinal(s1, s2)

Output: -5

程序:演示CompareOrdinal(字符串 strA, 字符串 strB)方法。

// C# program to demonstrate the 
// CompareOrdinal(string strA, string strB)
using System;
class Geeks {
  
    // Main Method
    public static void Main(string[] args)
    {
  
        // strings to be compared
        string s1 = "GFG";    
        string s2 = "GFG"; 
        string s3 = "hello";
        string s4 = "csharp";
  
        // using CompareOrdinal(string strA, string strB)
        // method to compare displaying resultant value
        Console.WriteLine(string.CompareOrdinal(s1, s2));
        Console.WriteLine(string.CompareOrdinal(s1, s3));
        Console.WriteLine(string.CompareOrdinal(s3, s4));
    }
}
输出:
0
-33
5

CompareOrdinal(String,Int32,String,Int32,Int32)

此方法用于通过计算每个子字符串中相应Char对象的数值来比较两个特定字符串对象的子字符串。

句法:

public static int CompareOrdinal(
    string strA,
    int indexA,
    string strB,
    int indexB,
    int length
)

参数:该方法将采取五个参数,STRA是第一字符串对象和similiary STRB是第二字符串对象和索引A是在STRA子串的起始索引和indexB是在STRB子串的起始索引和长度是要比较的子字符串中的最大字符数。 strA和StrB的类型为System.String和indexA,indexB和length的类型为System.Int32

返回值:此方法将返回System.Int32类型的整数值。如果两个子字符串相等且长度为零,则此方法将返回0。如果strA中的子字符串大于strB中的子字符串,它将返回一个正值,否则返回负值。

异常:在以下三种情况下,此方法将提供ArgumentOutOfRangeException

  • 如果strA不为null并且indexA大于strA的长度。
  • 如果indexA,indexB或length为负。
  • 如果strB不为null,并且indexB大于strB的长度。

程序:为了说明CompareOrdinal(字符串strA,int indexA,字符串strB,int indexB,int长度):

// C# program to illustrate the 
// CompareOrdinal(String, Int32, 
// String, Int32, Int32) method
using System;
  
class GFG {
      
    // Main Method
    static public void Main ()
    {
          
        // strings to be compared
        string s1 = "GeeksforGeeks";    
        string s2 = "GforG";
          
        // starting index of substrings
        int sub1 = 5;
        int sub2 = 1;
          
        // length (5th parameter)
        int l1 = 3;
          
        // using CompareOrdinal(String, Int32, 
        // String, Int32, Int32) method and 
        // storing the result in variable res
        int res = string.CompareOrdinal(s1, sub1, s2, sub2, l1);
          
        // Displaying the result
        Console.WriteLine("The Result is: " + res);
          
    }
}
输出:
The Result is: 0

参考:

  • https://msdn.microsoft.com/zh-CN/library/af26w0wa(v=vs.110).aspx
  • https://msdn.microsoft.com/zh-CN/library/es986b3k(v=vs.110).aspx