关于c#:如何在字符数组中找到数字?


How can I find the numbers in an array of characters?

我怎样才能找到char[]中哪些字符是数字?

1
2
3
4
5
6
char[] example = { '2', 'a', '4', 'f', 'u', 'i', '6' };

if(example[3] == ???)
{
  Console.WriteLine(example[3].toString());
}


char.IsDigit

操作系统:

1
2
3
4
if (Char.IsDigit(example[3]))
{
   Console.WriteLine(...);
}

如果你想要的所有字符。

1
2
3
IEnumerable<char> digitList = example.Where(c => Char.IsDigit(c));
//or
char[] digitArray = example.Where(c => Char.IsDigit(c)).ToArray();

如果你想使用所有的额外的char.isnumber Unicode中"数",具体而言:

Numbers include characters such as fractions, subscripts,
superscripts, Roman numerals, currency numerators, encircled numbers,
and script-specific digits.


有一个很简单的方法Char.IsNumber()

你可以用它测试:

1
2
3
4
5
6
7
8
9
char[] example = { '2', 'a', '4', 'f', 'u', 'i', '6' };

if(Char.IsNumber(example[3]))

{

  Console.WriteLine(example[3].toString());

}


如果你想让所有的编号:

1
var numbers = example.Where(char.IsDigit);

如果你想检查是否字符是一个特定的号码或没有。

1
if(char.IsDigit(example[3]))

1
2
3
4
5
6
7
8
9
10
11
12
13
14
static void Main(string[] args)
        {

            char[] example = { '2', 'a', '4', 'f', 'u', 'i', '6' };

            if (char.IsDigit(example[3]))

            {

                Console.WriteLine(example[3]);

            }

        }