根据MS文档,这应该有效,但事实并非如此.
Char.IsSymbol('%')
Run Code Online (Sandbox Code Playgroud)
https://msdn.microsoft.com/en-us/library/system.char.issymbol(v=vs.110).aspx
Char.GetUnicodeCategory('%') == OtherPunctuation所以应该返回 真由IsSymbol.
如果百分比符号的类别是OtherPunctuation,则它不属于文档所说的符号类别之一(MathSymbol、CurrencySymbol、ModifierSymbol 和 OtherSymbol)。
你使用的是百分比%(U + 0025),而不是文档实际提到的字符,?(U + 2105,"照顾".原来它实际上是一个很小的,不可读的"c/o",就像在字母上使用的那样):
Unicode标准中的符号是一组松散定义的字符,包括以下内容:
货币符号.
字母符号,包括一组数学字母数字符号以及符号,如℅,№和™.
此符号分类为OtherSymbol:
Char.GetUnicodeCategory('?') == OtherSymbol
Char.IsSymbol('?') == true
Run Code Online (Sandbox Code Playgroud)
百分比字符只是一个普通的标点字符,而不是符号:
Char.GetUnicodeCategory('%') == OtherPunctuation
Char.IsPunctuation('%') == true
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1660 次 |
| 最近记录: |