奇怪的是,如果我进入(C#交互式窗口):
using System.Collections.Immutable;
C#Interactive接受这一点,这意味着它可以看到名称空间。但如果我尝试使用它,例如:
var a = ImmutableList.Create<int>(1,2,3);
我收到错误消息:“名称‘ImmutableList’在当前上下文中不存在。”如果我完全限定ImmutableList的名称,则没有区别。
可能我不明白.NET C#Interactive的哪个版本在运行。我明白不可变。集合现在是.NETCore3的原生版本,但也许C#Interactive不使用这个版本?(如何在C#Interactive中判断/指定.NET版本?)。即便如此,它不反对using指令似乎也很奇怪。
你需要参考 System.Collections.Immutable 先组装。为此,请使用以下命令:
System.Collections.Immutable
#r "System.Collections.Immutable.dll"
现在您可以在 System.Collections.Immutable不可变
System.Collections.Immutable不可变