我想知道如何在C#中分离和循环一个庞大的数字。例如,
1564758965485698 7458963547589656我想编写一个代码,可以循环遍历它们并一次将它们分成16位数,输出应为:
1564758965485698 7458963547589656
然后我想屏蔽两个数字中的数字,例如: 1564xxxxxx485698 74589xxxxx589656
然后我想将它们输出到控制台。
请帮忙!
答案 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();
}