此方法用於將字符串中指定位置的UTF-16編碼字符或代理對的值轉換為Unicode代碼點。
用法:
public static int ConvertToUtf32 (string s, int index);
參數:
-
s:包含字符或代理對的字符串。
index:字符或代理對在s中的索引位置。
返回值:此方法在index參數指定的s參數中的位置處返回由字符或代理對表示的21位Unicode代碼點。
異常:
- ArgumentNullException:如果s為null。
- ArgumentOutOfRangeException:如果index不是s內的位置。
- 參數異常:如果索引不在s內。
- ArgumentException:如果指定的索引位置包含一個代理對,並且該對中的第一個字符不是有效的高代理,或者該對中的第二個字符不是有效的低代理。
以下示例程序旨在說明Char.ConvertToUtf32(String,Int32)方法的用法:
範例1:
// C# program to demonstrate
// Char.ConvertToUtf32(String, Int32)
// Method
using System;
using System.Globalization;
class GFG {
// Main Method
public static void Main()
{
try {
// declaring and initializing int
// variable with 21 bit unicode
int utf = 0xF42;
// getting the value
// using ConvertFromUtf32()
string value = Char.ConvertFromUtf32(utf);
// getting unicode point
// using ConvertToUtf32() method
int val = Char.ConvertToUtf32(value, 0);
// Display the value
Console.WriteLine("value is 0x{0:X}", val);
}
catch (ArgumentOutOfRangeException e) {
Console.Write("Exception Thrown:");
Console.Write("{0}", e.GetType(), e.Message);
}
}
}
輸出:
value is 0xF42
範例2:對於ArgumentOutOfRangeException
// C# program to demonstrate
// Char.ConvertToUtf32(String, Int32)
// Method
using System;
using System.Globalization;
class GFG {
// Main Method
public static void Main()
{
try {
// declaring and initializing int
// variable with 21 bit unicode
int utf = 0x42F;
// getting the value
// using ConvertFromUtf32()
string value = Char.ConvertFromUtf32(utf);
// getting unicode point
// using ConvertToUtf32() method
Console.WriteLine("index is not a position within s.");
int val = Char.ConvertToUtf32(value, 0xDFFF);
// Display the value
Console.WriteLine("value is 0x{0:X}", val);
}
catch (ArgumentOutOfRangeException e) {
Console.Write("Exception Thrown:");
Console.Write("{0}", e.GetType(), e.Message);
}
}
}
輸出:
index is not a position within s. Exception Thrown:System.ArgumentOutOfRangeException
範例3:對於ArgumentNullException
// C# program to demonstrate
// Char.ConvertToUtf32(String, Int32)
// Method
using System;
using System.Globalization;
class GFG {
// Main Method
public static void Main()
{
try {
// declaring and initializing
// int variablewith 21 bit
// unicode int utf = 0x42F;
// getting the value
// using ConvertFromUtf32()
string value = null;
// getting unicode point
// using ConvertToUtf32() method
Console.WriteLine("string value is null");
int val = Char.ConvertToUtf32(value, 0);
// Display the value
Console.WriteLine("value is 0x{0:X}", val);
}
catch (ArgumentNullException e) {
Console.Write("Exception Thrown:");
Console.Write("{0}", e.GetType(), e.Message);
}
catch (ArgumentOutOfRangeException e) {
Console.Write("Exception Thrown:");
Console.Write("{0}", e.GetType(), e.Message);
}
catch (ArgumentException e) {
Console.Write("Exception Thrown:");
Console.Write("{0}", e.GetType(), e.Message);
}
}
}
輸出:
string value is null Exception Thrown:System.ArgumentNullException
參考:
相關用法
- C# Buffer.BlockCopy(Array, Int32, Array, Int32, Int32)用法及代碼示例
- C# Array.BinarySearch(Array, Int32, Int32, Object)用法及代碼示例
- C# Array.BinarySearch(Array, Int32, Int32, Object, IComparer)用法及代碼示例
- C# Int32.GetHashCode用法及代碼示例
- C# Char.ConvertFromUtf32(Int32)用法及代碼示例
- C# Int32.Equals用法及代碼示例
- C# Int32.CompareTo用法及代碼示例
- C# Int32.GetTypeCode用法及代碼示例
- C# Char.IsHighSurrogate(String, Int32)用法及代碼示例
- C# Char.IsSurrogatePair(String, Int32)用法及代碼示例
- C# Char.IsLowSurrogate(String, Int32)用法及代碼示例
- C# Char.IsControl(String, Int32)用法及代碼示例
- C# Char.IsSurrogate(String, Int32)用法及代碼示例
注:本文由純淨天空篩選整理自RohitPrasad3大神的英文原創作品 C# | Char.ConvertToUtf32(String, Int32) Method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。