C# 如何实现Char.IsCurrencySymbol?

C# 如何实现Char.IsCurrencySymbol?,c#,unicode,C#,Unicode,c#标准库目前有一个Char.IsSymbol方法 有人对我如何实现Char.IsCurrencySymbol方法有什么建议吗 Char.IsCurrencySymbol('$') // true Char.IsCurrencySymbol('@') //false 像这样: public static class Extensions { public static bool IsCurrencySymbol(this char c) { return ch

c#标准库目前有一个
Char.IsSymbol
方法

有人对我如何实现
Char.IsCurrencySymbol
方法有什么建议吗

Char.IsCurrencySymbol('$')
// true

Char.IsCurrencySymbol('@')
//false
像这样:

public static class Extensions
{
    public static bool IsCurrencySymbol(this char c)
    {
        return char.GetUnicodeCategory(c) == UnicodeCategory.CurrencySymbol;
    }
}
用法:

bool yes = '$'.IsCurrencySymbol();
bool no = '@'.IsCurrencySymbol();

我正要写一个正则表达式版本,但这样更清楚了。你试过什么吗?我想这也是一个很糟糕的问题,但OP赛尔夫在发帖后几分钟就回答了。不确定发帖时是否有意不回答,但这可能是一个不好的问题,有一个体面的自我回答。@Patrickhoffman任何问题的答案都不应该影响问题投票分数——即使是自我回答。我同意OPs的答案是好的(尽管它与被接受的答案完全相同,这可能是它被删除的原因)。不管怎么说,这个问题本身很糟糕。我同意,这就是我没有投赞成票的原因@HimBromBeere@Evk“今天每个人都知道unicode分类?”当然不是。但这个问题应该代表它自己,不管有什么答案。因为这个问题没有显示任何研究。另一方面,答案当然是完全正确和正确的,这就是为什么投票率如此之高的原因。