此方法用於指示字符串中指定位置的Char對象是否為低替代值。
用法:
public static bool IsLowSurrogate (string s, int index);
參數:
- s:這是一個字符串。
- index:是在s中求值的字符位置。
返回值:如果s參數中指定字符的數值範圍為U+DC00
通過U+DFFF
否則返回假。
異常:
- ArgumentNullException:如果s為null。
- ArgumentOutOfRangeException:如果索引不在s內。
以下示例程序旨在說明Char.IsLowSurrogate(String,Int32)方法的用法:
範例1:
// C# program to demonstrate
// Char.IsLowSurrogate(String,
// Int32) Method
using System;
class GFG {
// Main Method
public static void Main()
{
try {
// calling check() Method
check("1234", 3);
check("Tsunami", 3);
check("psyc0lo", 4);
// declaring and initializing string s1
string s1 = new String(new char[] {'a',
'\uD800', '\uDC00', 'z' });
check(s1, 2);
}
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);
}
}
// Defining check() method
public static void check(string s, int i)
{
// checking condition
// using IsLowSurrogate() Method
bool val = Char.IsLowSurrogate(s, i);
// checking
if (val)
Console.WriteLine("String '{0}' contains Low "
+ "Surrogate value at index {1} ", s, i);
else
Console.WriteLine("String '{0}' does't contain any Low"
+ "Surrogate value at index {1}", s, i);
}
}
輸出:
String '1234' does't contain any LowSurrogate value at index 3 String 'Tsunami' does't contain any LowSurrogate value at index 3 String 'psyc0lo' does't contain any LowSurrogate value at index 4 String 'að??z' contains Low Surrogate value at index 2
範例2:對於ArgumentNullException
// C# program to demonstrate
// Char.IsLowSurrogate(String,
// Int32) Method
using System;
class GFG {
// Main Method
public static void Main()
{
try {
// calling check() Method
check("1234", 3);
check("Tsunami", 3);
check("psyc0lo", 4);
// declaring and initializing string s1
string s1 = new String(new char[] {'a',
'\uD800', '\uDC00', 'z' });
check(s1, 2);
Console.WriteLine("");
Console.WriteLine("s is null");
check(null, 4);
}
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);
}
}
// Defining check() method
public static void check(string s, int i)
{
// checking condition
// using IsLowSurrogate() Method
bool val = Char.IsLowSurrogate(s, i);
// checking
if (val)
Console.WriteLine("String '{0}' contains Low "
+ "Surrogate value at index {1} ",s, i);
else
Console.WriteLine("String '{0}' does't contain any Low"
+ "Surrogate value at index {1}",s, i);
}
}
輸出:
String '1234' does't contain any LowSurrogate value at index 3 String 'Tsunami' does't contain any LowSurrogate value at index 3 String 'psyc0lo' does't contain any LowSurrogate value at index 4 String 'að??z' contains Low Surrogate value at index 2 s is null Exception Thrown:System.ArgumentNullException
範例3:對於ArgumentOutOfRangeException
// C# program to demonstrate
// Char.IsLowSurrogate(String,
// Int32) Method
using System;
class GFG {
// Main Method
public static void Main()
{
try {
// calling check() Method
check("1234", 3);
check("Tsunami", 3);
check("psyc0lo", 4);
// declaring and initializing string s1
string s1 = new String(new char[] {'a',
'\uD800', '\uDC00', 'z' });
check(s1, 2);
Console.WriteLine("");
Console.WriteLine("index is less than zero");
check("null", -4);
}
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);
}
}
// Defining check() method
public static void check(string s, int i)
{
// checking condition
// using IsLowSurrogate() Method
bool val = Char.IsLowSurrogate(s, i);
// checking
if (val)
Console.WriteLine("String '{0}' contains Low "
+ "Surrogate value at index {1} ",s, i);
else
Console.WriteLine("String '{0}' does't contain any Low"
+ "Surrogate value at index {1}",s, i);
}
}
輸出:
String '1234' does't contain any LowSurrogate value at index 3 String 'Tsunami' does't contain any LowSurrogate value at index 3 String 'psyc0lo' does't contain any LowSurrogate value at index 4 String 'að??z' contains Low Surrogate value at index 2 index is less than zero Exception Thrown:System.ArgumentOutOfRangeException
參考:
相關用法
- C# Buffer.BlockCopy(Array, Int32, Array, Int32, Int32)用法及代碼示例
- C# Array.BinarySearch(Array, Int32, Int32, Object, IComparer)用法及代碼示例
- C# Array.BinarySearch(Array, Int32, Int32, Object)用法及代碼示例
- C# Char.ConvertFromUtf32(Int32)用法及代碼示例
- C# Int32.Equals用法及代碼示例
- C# Int32.GetHashCode用法及代碼示例
- C# Int32.GetTypeCode用法及代碼示例
- C# Int32.CompareTo用法及代碼示例
- C# Char.ConvertToUtf32(String, Int32)用法及代碼示例
- C# Char.IsHighSurrogate(String, Int32)用法及代碼示例
- C# Char.IsSurrogate(String, Int32)用法及代碼示例
- C# Int32.Parse(String)用法及代碼示例
- C# Char.IsSurrogatePair(String, Int32)用法及代碼示例
注:本文由純淨天空篩選整理自RohitPrasad3大神的英文原創作品 C# | Char.IsLowSurrogate(String, Int32) Method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。