如何循环数字并将它们分成单个或多个数字?

时间:2015-09-12 11:47:14

标签: c# c#-4.0 c#-3.0

我想知道如何在C#中分离和循环一个庞大的数字。例如,

1564758965485698 7458963547589656我想编写一个代码,可以循环遍历它们并一次将它们分成16位数,输出应为:

1564758965485698 7458963547589656

然后我想屏蔽两个数字中的数字,例如: 1564xxxxxx485698 74589xxxxx589656

然后我想将它们输出到控制台。

请帮忙!

1 个答案:

答案 0 :(得分:0)

这个非常简单的代码可以满足您的要求。

以下是一个实例:https://dotnetfiddle.net/yPxYVo

public static void Main()
    {
        string temp = "";
        int counter = 0;
        string inputNumber = "15647589654856987458963547589656";

        List<string> batch = new List<string>();

        for(int i = 0; i < inputNumber.Length; i++)
        {   
            counter++;
            temp += inputNumber[i];
            if(counter >= 16)
            {
                batch.Add(MaskedString(temp));
                counter = 0;
                temp = "";
            }
        }

        foreach(var b in batch)
        {
            Console.WriteLine(b);
        }
    }

    public static string MaskedString(string unmaskedString)
    {
        var stringBuilder = new StringBuilder(unmaskedString);

        for(int i = 4; i < 9; i++)
        {
            stringBuilder.Remove(i, 1);
            stringBuilder.Insert(i, "X");
        }

        return stringBuilder.ToString();        
    }