System.StringComparer.Create 方法
上一篇:System.StringComparer.Compare(String,String) 方法
下一篇:System.StringComparer.Equals(Object,Object) 方法
方法描述
创建 StringComparer 对象,该对象根据指定区域性的规则对字符串进行比较。
语法定义(C# System.StringComparer.Create 方法 的用法)
public static StringComparer Create( CultureInfo culture, bool ignoreCase )
参数/返回值
参数值/返回值 | 参数类型/返回类型 | 参数描述/返回描述 |
---|---|---|
culture | System-Globalization-CultureInfo | 一个区域性,其语言规则用于执行字符串比较。 |
ignoreCase | System-Boolean | true 指定比较操作不区分大小写;false 指定比较操作区分大小写。 |
返回值 | System.StringComparer | 一个新 StringComparer 对象,该对象根据 culture 参数使用的比较规则以及 ignoreCase 参数指定的大小写规则执行字符串比较。 |
提示和注释
System.StringComparer.Create 方法例子
此示例演示不同的 StringComparer 对象如何对三种版本的拉丁字母 I 进行排序。
// This example demonstrates members of the // System.StringComparer class. using System; using System.Collections; using System.Collections.Generic; using System.Globalization; using System.Threading; class Sample { public static void Main() { // Create a list of string. Listlist = new List (); // Get the tr-TR (Turkish-Turkey) culture. CultureInfo turkish = new CultureInfo("tr-TR"); // Get the culture that is associated with the current thread. CultureInfo thisCulture = Thread.CurrentThread.CurrentCulture; // Get the standard StringComparers. StringComparer invCmp = StringComparer.InvariantCulture; StringComparer invICCmp = StringComparer.InvariantCultureIgnoreCase; StringComparer currCmp = StringComparer.CurrentCulture; StringComparer currICCmp = StringComparer.CurrentCultureIgnoreCase; StringComparer ordCmp = StringComparer.Ordinal; StringComparer ordICCmp = StringComparer.OrdinalIgnoreCase; // Create a StringComparer that uses the Turkish culture and ignores case. StringComparer turkICComp = StringComparer.Create(turkish, true); // Define three strings consisting of different versions of the letter I. // LATIN CAPITAL LETTER I (U+0049) string capitalLetterI = "I"; // LATIN SMALL LETTER I (U+0069) string smallLetterI = "i"; // LATIN SMALL LETTER DOTLESS I (U+0131) string smallLetterDotlessI = "\u0131"; // Add the three strings to the list. list.Add(capitalLetterI); list.Add(smallLetterI); list.Add(smallLetterDotlessI); // Display the original list order. Display(list, "The original order of the list entries..."); // Sort the list using the invariant culture. list.Sort(invCmp); Display(list, "Invariant culture..."); list.Sort(invICCmp); Display(list, "Invariant culture, ignore case..."); // Sort the list using the current culture. Console.WriteLine("The current culture is \"{0}\".", thisCulture.Name); list.Sort(currCmp); Display(list, "Current culture..."); list.Sort(currICCmp); Display(list, "Current culture, ignore case..."); // Sort the list using the ordinal value of the character code points. list.Sort(ordCmp); Display(list, "Ordinal..."); list.Sort(ordICCmp); Display(list, "Ordinal, ignore case..."); // Sort the list using the Turkish culture, which treats LATIN SMALL LETTER // DOTLESS I differently than LATIN SMALL LETTER I. list.Sort(turkICComp); Display(list, "Turkish culture, ignore case..."); } public static void Display(List lst, string title) { Char c; int codePoint; Console.WriteLine(title); foreach (string s in lst) { c = s[0]; codePoint = Convert.ToInt32(c); Console.WriteLine("0x{0:x}", codePoint); } Console.WriteLine(); } } /* This code example produces the following results: The original order of the list entries... 0x49 0x69 0x131 Invariant culture... 0x69 0x49 0x131 Invariant culture, ignore case... 0x49 0x69 0x131 The current culture is "en-US". Current culture... 0x69 0x49 0x131 Current culture, ignore case... 0x49 0x69 0x131 Ordinal... 0x49 0x69 0x131 Ordinal, ignore case... 0x69 0x49 0x131 Turkish culture, ignore case... 0x131 0x49 0x69 */
异常
异常 | 异常描述 |
---|---|
ArgumentNullException | culture 为 null。 |
版本信息
.NET Framework 受以下版本支持:4、3.5、3.0、2.0 .NET Framework Client Profile 受以下版本支持:4、3.5 SP1 受以下版本支持:
适用平台
Windows 7, Windows Vista SP1 或更高版本, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008(不支持服务器核心), Windows Server 2008 R2(支持 SP1 或更高版本的服务器核心), Windows Server 2003 SP2 .NET Framework 并不是对每个平台的所有版本都提供支持。有关支持的版本的列表,请参见.NET Framework 系统要求。
上一篇:System.StringComparer.Compare(String,String) 方法
下一篇:System.StringComparer.Equals(Object,Object) 方法