【问题标题】:ArrayList of BigIntegers to array of bytesBigIntegers 的 ArrayList 到字节数组
【发布时间】:2014-05-21 10:30:10
【问题描述】:

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

 _randomNumbers = new ArrayList(_size);

我试过这些

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

【问题讨论】:

  • @TimSchmelter 好的,我会改变它。但这对我没有帮助......

标签: c# arraylist biginteger


【解决方案1】:

我首先会使用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();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-11-28
    • 2011-07-02
    • 1970-01-01
    • 1970-01-01
    • 2011-10-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多