是否可以将BigIntegers的ArrayList转换为字节数组?如果是这样,怎么办?
_randomNumbers = new ArrayList(_size);
我尝试了这些
foreach (BigInteger number in _randomNumbers)
{
bytes = number.ToByteArray();
}
最佳答案
我将首先使用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();