首页 > 解决方案 > 是否可以在 C# Interactive 上使用 Immutable.Collections?

问题描述

我在 Visual Studio 2019 上使用 C# 交互窗口(即 REPL),并提供最新更新。我想使用不可变的集合,但不能让它们工作。(我在编译的 C# 项目中使用它们没有问题)。

奇怪的是,如果我进入(进入 C# 交互窗口):

using System.Collections.Immutable;

C# Interactive 接受这一点,这意味着它可以看到命名空间。但是,如果我然后尝试使用它,例如:

var a = ImmutableList.Create<int>(1,2,3);

我收到错误消息:“当前上下文中不存在名称‘ImmutableList’。” 如果我完全限定 ImmutableList 的名称,这没有什么区别。

可能我不了解 .NET C# Interactive 正在使用的版本。我知道 Immutable.Collections 现在在 .NET Core 3 中是原生的,但也许 C# Interactive 不使用这个版本?(如何在 C# Interactive 中分辨/指定 .NET 版本?)。即便如此,它没有抗议 using 指令似乎很奇怪。

标签: c#visual-studio-2019read-eval-print-loopimmutable-collections

解决方案


您需要先引用System.Collections.Immutable程序集。为此,请使用以下命令:

#r "System.Collections.Immutable.dll"

现在您可以使用System.Collections.Immutable命名空间中的对象。


推荐阅读