Q# 聚合异常错误

使用 Q# 编码时,使用以下代码片段时,我收到一个聚合异常错误(似乎发生了一个或多个错误)。

http://img4.mukewang.com/6187b368000144f108580319.jpg

这个特定的代码片段有什么问题,Q# 文档的哪些部分与这个问题有关?


代码片段:


            // Try initial values

            Result[] initials = new Result[] { Result.Zero, Result.One };

            foreach (Result initial in initials)

            {

                BellTest.Run(sim, 1000, initial).Wait();

                var res = BellTest.Run(sim, 1000, initial).Result;

                var (numZeros, numOnes, agree) = res;

                System.Console.WriteLine(

                    $"Init:{initial,-4} 0s={numZeros,-4} 1s={numOnes,-4} agree={agree,-4}");

            }


眼眸繁星
浏览 184回答 1
1回答

喵喔喔

对Q#操作的每次调用都是异步的,因为在实际硬件上的执行也是异步的,因此每次调用时Run都必须等待执行完成才能执行另一个量子操作。有多种方式来等待一个异步Task到结束,包括使用await关键字时,Wait()或检索Result的Task。在这种特殊情况下,您调用了BellTest.Run两次,第二次不等待第一个完成。如果您添加Wait()到第一个Run,Exeption 将消失,例如:    BellTest.Run(sim, 1000, initial).Wait();
打开App,查看更多内容
随时随地看视频慕课网APP