C# 将数字拆分为列表/数组(例如1998到1,9,9,8)

C# 将数字拆分为列表/数组(例如1998到1,9,9,8),c#,C#,这是我的第一篇帖子,如果我不够清楚,请原谅 正如标题所说,我想把一个数字分成更小的部分,例如1998到1,9,9,8。我环顾四周,但我一直在努力寻找合适的词 我希望这样做的原因是以后每隔一个数字乘以1或2,以检查它是否正确 很抱歉,我无法提供任何代码,因为我不确定该如何解决此问题。正如@mjwills所说,mod是您想要的 static IEnumerable<int> Digitize(int num) { while (num > 0)

这是我的第一篇帖子,如果我不够清楚,请原谅

正如标题所说,我想把一个数字分成更小的部分,例如1998到1,9,9,8。我环顾四周,但我一直在努力寻找合适的词

我希望这样做的原因是以后每隔一个数字乘以1或2,以检查它是否正确


很抱歉,我无法提供任何代码,因为我不确定该如何解决此问题。

正如@mjwills所说,mod是您想要的

    static IEnumerable<int> Digitize(int num)
    {
        while (num > 0)
        {
            int digit = num % 10;

            yield return digit;

            num = num / 10;
        }
    }

把那个数字做成一个字符串,像这样

```
int a = 1990;
int[] intArray = new int[a.ToString().Length];
int index = 0;
foreach( char ch in a.ToString())
{
   intArray[index] = int.Parse(ch.ToString());
   index++;
}

Mod 10(或DivRem)很可能就是你想在谷歌上搜索的东西。mjwills解决方案将是最有效的。然而,最简单的解决方案是:(1)将数字转换为字符串
myNumber.ToString()
,然后(2)将该字符串转换为字符数组
myString.tocharray()
。然后,您可以循环使用这些字符并使用
Char.GetNumericValue()
进行计算。顺便说一句,您尝试执行的操作听起来非常类似。
```
int a = 1990;
int[] intArray = new int[a.ToString().Length];
int index = 0;
foreach( char ch in a.ToString())
{
   intArray[index] = int.Parse(ch.ToString());
   index++;
}