Я делаю программу, которая использует массив целых чисел, взятых в качестве параметра из скрипта C # в Driver.cs
, но выдает следующую ошибку:
Error CS1503 Argument 2: cannot convert from 'long[]' to 'Microsoft.Quantum.Simulation.Core.IQArray<long>'
Вместо этого я попытался передать массив строк и преобразовать их внутри программы, но появляется идентичная ошибка:
Error CS1503 Argument 2: cannot convert from 'string[]' to 'Microsoft.Quantum.Simulation.Core.IQArray<string>'
Вот код C # в Driver.cs
- keyArray
- это массив, который я пытаюсь передать в Q #.
using (var qsim = new QuantumSimulator())
{
var result = QMain.Run(qsim, keyArray).Result;
var (res0, res1, res2) = result;
System.Console.WriteLine(res0 + ", " + res1 + ", " + res2);
}
Q # Операция QMain в Operations.qs
:
operation QMain(keyCode : Int[]) : (Result, Result, Result)
В Q #, Int
тип данных соответствует C # long
.
Передача массива строк также не удалась со следующей сигнатурой QMain
:
operation QMain(s : String[]) : (Result, Result, Result)
Все, что я получаю, одинаковоошибка всякий раз, когда я пытаюсь использовать любой массив в качестве параметра в QMain
.