biginteger的数组列表到字节数组

本文关键字:数组 到字节 列表 biginteger | 更新日期: 2023-09-27 18:04:35

是否可以将biginteger的ArrayList转换为字节数组?如果有,怎么做?

 _randomNumbers = new ArrayList(_size);

我试过这些

foreach (BigInteger number in _randomNumbers)
{
    bytes = number.ToByteArray();
}

biginteger的数组列表到字节数组

我会首先使用List<BigInteger>。不再需要ArrayList了。然后,您可以使用以下LINQ查询:

var bigIntegers = new List<System.Numerics.BigInteger>(); // fill...
byte[][] allByteArrays = bigIntegers.Select(bi => bi.ToByteArray()).ToArray();

否则你需要强制转换ArrayList中的每个对象:

byte[][] allByteArrays = bigIntegersArrayList.Cast<BigInteger>()
    .Select(bi => bi.ToByteArray())
    .ToArray();

为了完整起见,不使用LINQ的经典方法可以更高效:

byte[][] allByteArrays = new byte[bigIntegers.Count][];
for (int i = 0; i < allByteArrays.Length; i++)
    allByteArrays[i] = bigIntegers[i].ToByteArray();