将数组的 3 个字符打包成整数 C#



所以,我有一个包含一堆数字的数组。我想总是取 3 个这样的字符并从中制作一个整数。我还没有找到任何关于这个的东西。下面是一个示例:

string number = "123456xyz";
字符串是我

所拥有的,这些整数是我想要的

int goal1 = 123;
int goal2 = 456;
int goaln = xyz;

它应该遍历所有字符,并始终将它们分成三组。我认为foreach((会对我有所帮助,但我不太确定该怎么做。

像这样:

var goals = new List<int>();
for (int i = 0; i + 2 < number.Length; i += 3)
{
  goals.Add(int.Parse(number.Substring(i,3)));
}

这没有错误检查,但它显示了一般轮廓。 Foreach 不是一个好的选择,因为当您想一次查看三个字符时,它会一次浏览一个字符。

var numbers = (from Match m in Regex.Matches(number, @"d{3}")
    select m.Value).ToList();
var goal1 = Convert.ToInt32(numbers[0]);
var goal2 = Convert.ToInt32(numbers[1]);
...

最新更新