Tag: type systems

Java / C#类型系统有哪些不足之处?

它经常听说Haskell(我不知道)有一个非常有趣的类型系统..我对Java非常熟悉,而且对C#有点熟悉,有时碰巧我正在与类型系统作斗争,所以一些设计适应或以某种方式更好地工作。 这让我想知道…… 由于Java / C#类型系统的不足,以某种方式出现了什么问题? 你怎么处理他们?

为什么我不能在结构中使用as关键字?

我定义了以下结构: public struct Call { public SourceFile caller; public SourceFile callee; public Call(SourceFile caller, SourceFile callee) { this.caller = caller; this.callee = callee; } } 稍后,我将其分配给另一个对象的Tag属性: line.Tag = new Call(sf1, sf2); 但是当我尝试像这样检索Tag属性时, Call call = line.Tag as Call; Visual Studio提供以下编译时错误: 必须在引用类型或可空类型中使用运算符 那是什么意思? 我该如何解决?