Я попытался следующий код в VS2010:F # Интерактивная ошибка?
open System.Security.Cryptography
let rsaTest1 =
let ecKey = [|0uy..143uy|] // junk data for testing
let ecKeyMod = ecKey.[8..8+128-1]
let ecKeyExp = ecKey.[136..136+8-1]
let rsa = RSAParameters(Modulus = ecKeyMod, Exponent = ecKeyExp)
rsa
let rsaTest2 =
let ecKey = [|0uy..143uy|] // junk data for testing
let rsa = RSAParameters(Modulus = ecKey.[8..8+128-1], Exponent = ecKey.[136..136+8-1])
rsa
Если я выделяю весь код и отправить его на F # Interactive (Alt + Enter), а затем rsaTest1 работает, но rsaTest2 выдает сообщение об ошибке,
System.NullReferenceException: Object reference not set to an instance of an object.
at <StartupCode$FSI_0004>[email protected]() in P:\proj\Tachograph\Project\CompuTachTest\CompuTachTest\rsaTest.fsx:line 16
Однако, если я изменю rsaTest2 от значения в функцию и вызвать его,
let rsaTest2() =
let ecKey = [|0uy..143uy|] // junk data for testing
let rsa = RSAParameters(Modulus = ecKey.[8..8+128-1], Exponent = ecKey.[136..136+8-1])
rsa
let x = rsaTest2()
тогда нет никакой ошибки. F # ошибка или моя ошибка?
Я забыл прокомментировать, что произошло, но вот он: я сообщил об ошибке в MS, и Дон Сим подтвердил это. –