gpt4 book ai didi

c# - Java Character.MATH_SYMBOL 到 C# 的转换

转载 作者:行者123 更新时间:2023-11-30 20:33:35 25 4
gpt4 key购买 nike

.NET 4.6.1 C#

我找到了解决我遇到的问题的可能方法。该解决方案是用 Java 编写的。我轻松地将其 99% 转换为 C#,没有 1 行。这是概要。

他们有一个被转换成字符数组的字符串。这是 C# 等效项:

   string pFormula = "my string";
char[] tokens = pFormula.ToCharArray();

然后出现下面一行代码(这是Java):

   if (Character.getType(tokens[i]) == Character.MATH_SYMBOL){
//do something
}

这是我卡住的地方。我可以这样做:

     tokens[i].GetType() //Character.getType(tokens[i])

有谁知道 Java 的 Character.MATH_SYMBOL 在 C# 中的等价物?谢谢

最佳答案

char plus = '+';

if(char.GetUnicodeCategory(plus) == UnicodeCategory.MathSymbol)
{
//return true
}

您需要使用 UnicodeCategory

请注意,并不是每个可以在 Math 中使用的符号都在 UnicodeCategory.MathSymbol 中。 * 和/不是 MathSybols 的一部分

char a2 = '*';

if(char.GetUnicodeCategory(a2) == UnicodeCategory.OtherPunctuation)
{
//return true, but return false for Math.
}

这里看起来像 MathSymbols 中使用的乘法和除法的 unicode 字符。

 char multiplication = '×';
char division = '÷';

这里应该是List of characters in unicode designation Sm(symbol,math)

关于c# - Java Character.MATH_SYMBOL 到 C# 的转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40088153/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com