c# - 是否可以在 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 指令似乎很奇怪。
解决方案
您需要先引用System.Collections.Immutable
程序集。为此,请使用以下命令:
#r "System.Collections.Immutable.dll"
现在您可以使用System.Collections.Immutable
命名空间中的对象。
推荐阅读
- javascript - 发送帖子nodejs时连接关闭
- python - 如何有效地计算多个列表的共现计数?
- amazon-ec2 - 尽管命令正在 AWS EC2 实例上的终端上运行,但 Cron 作业无法正常工作
- c++ - 用于从 Java 移植到 C++ 的文本字符串的 3 路基数快速排序
- python - FFMPEG:向视频添加多个垂直堆叠的绘图文本
- javascript - Javascript 24 小时到 12 小时
- java - 使用 Java Stream 从文件中实例化对象
- python - 如何在值内转义分隔符
- android-studio - Error when downloading a file with url into internal storage Android Studio
- gmail-api - 为什么我的员工在通过 PipelineDeals 发送电子邮件时收到此消息?