Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Char.IsSymbol(';%';)不起作用_C# - Fatal编程技术网

C# Char.IsSymbol(';%';)不起作用

C# Char.IsSymbol(';%';)不起作用,c#,C#,根据MS文档,这应该是可行的,但事实并非如此 Char.IsSymbol('%') Char.getUnicode分类('%')==其他标点符号,因此应从IsSymbol返回true如果百分比符号的类别是其他标点符号,则它不在文档所述的类别中(MathSymbol、CurrencySymbol、ModifierSymbol和OtherSymbol)。如果百分比符号的类别是其他标点符号,则它不在文档所说的符号类别中(MathSymbol、CurrencySymbol、ModifierSymbo

根据MS文档,这应该是可行的,但事实并非如此

Char.IsSymbol('%')


Char.getUnicode分类('%')==其他标点符号
,因此应
IsSymbol

返回
true如果百分比符号的类别是
其他标点符号
,则它不在文档所述的类别中(MathSymbol、CurrencySymbol、ModifierSymbol和OtherSymbol)。

如果百分比符号的类别是
其他标点符号
,则它不在文档所说的符号类别中(MathSymbol、CurrencySymbol、ModifierSymbol和OtherSymbol)。

您使用的是百分比
%
(U+0025),而不是文档中实际提到的字符,
(.原来它实际上是一个很小的,不可读的“c/o”):

Unicode标准中的符号是一组松散定义的字符,包括以下内容:

  • 货币符号

  • 字母符号,包括一组数学字母数字符号以及℅, №, 及™.

此符号被分类为
其他符号

Char.GetUnicodeCategory('℅') == OtherSymbol
Char.IsSymbol('℅') == true
百分比字符只是普通标点符号,而不是符号:

Char.GetUnicodeCategory('%') == OtherPunctuation
Char.IsPunctuation('%') == true

您使用的是百分比
%
(U+0025),而不是文档中实际提到的字符
(.原来它实际上是一个很小的,不可读的“c/o”):

Unicode标准中的符号是一组松散定义的字符,包括以下内容:

  • 货币符号

  • 字母符号,包括一组数学字母数字符号以及℅, №, 及™.

此符号被分类为
其他符号

Char.GetUnicodeCategory('℅') == OtherSymbol
Char.IsSymbol('℅') == true
百分比字符只是普通标点符号,而不是符号:

Char.GetUnicodeCategory('%') == OtherPunctuation
Char.IsPunctuation('%') == true

这不被认为是一种象征。 例子: Char.IsSymbol(“^”)

返回true

Char.IsSymbol(“%”)

返回false


它是工作的,而不是你希望它工作的。你可能需要定义你自己的函数来检查你认为符号的字符。 例子: Char.IsSymbol(“^”)

返回true

Char.IsSymbol(“%”)

返回false


它是工作的,而不是你希望它工作的。你可能需要定义你自己的函数来检查你认为符号的字符。

是和否。在MSDN页面上显示的字符看起来像是一个百分号,但实际上是更高的Unicode。

var z = '℅'; // 8453
var zz = '%'; // 37
var a = char.IsSymbol(z);
var aa = char.IsSymbol(zz);

是和否。MSDN页面上显示的字符看起来像一个百分号,但实际上是更高的unicode

var z = '℅'; // 8453
var zz = '%'; // 37
var a = char.IsSymbol(z);
var aa = char.IsSymbol(zz);
基于:

在此上下文中为符号的字符:
unicodecegory.MathSymbol
unicodecegory.CurrencySymbol
unicodecegory.ModifierSymbol
unicodecegory.OtherSymbol
命名空间中的

这些是设计的Unicode字符:分别是Sm、Sc、Sk和So

所有其他字符返回的
False

基于:

在此上下文中为符号的字符:
unicodecegory.MathSymbol
unicodecegory.CurrencySymbol
unicodecegory.ModifierSymbol
unicodecegory.OtherSymbol
命名空间中的

这些是设计的Unicode字符:分别是Sm、Sc、Sk和So


所有其他字符返回
False

请注意,您使用的是百分比
%
,而文档中特别提到了此符号。不,其他标点符号和其他符号是两个不同的类别,
%
属于标点符号,而不是符号可能与您使用百分比
%
的注释重复,而e文档特别提到了这个符号。不,OtherPercentration和OtherSymbol是两个不同的类别,
%
属于标点符号,而不是symbol可能与Right重复,我的错误。有人应该告诉MS“%”是一个符号而不是标点符号,对吧,我的错误。有人应该告诉MS“%”是一个符号而不是标点符号