有没有一种简单的方法可以在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(

是否有转换为ReadOnlySpa的方法?

您可以通过将字节数组传递到相关构造函数中来创建ReadOnlySpan

System.ReadOnlySpan(priv)

似乎以下方法有效:

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

以及后来的

spanToROSpan(priv.AsSpan())

最新更新