有没有一种简单的方法可以将字节[]转换为Fsharp中的ReadOnlySpan <byte>?

问题描述

我正在Fsharp中创建RSA pki,并尝试加载私钥:

  let getRsa () =
    let rsa = RSA.Create()
    let privateKey = getPrivateKey()
    let bytesRead = ref 0
    match privateKey with
      | Some priv ->
          rsa.ImportRSAPrivateKey(source = priv,bytesRead = bytesRead)
          Some rsa
      | None -> None

不幸的是,此操作无法执行,因为:

该表达式应具有类型 “ ReadOnlySpan”,但是这里有类型 'byte []'F#编译器(1)

是否可以转换为ReadOnlySpan?

解决方法

您可以通过将字节数组传递到relevant constructor来创建Bitmap decoded = BitmapFactory.decodeStream(new ByteArrayInputStream(outputStream .toByteArray()));

ReadOnlySpan
,

似乎可以完成以下工作:

let spanToROSpan (span : Span<'a>) : ReadOnlySpan<'a> =
    Span<_>.op_Implicit(span)

后来

spanToROSpan(priv.AsSpan())