我有一个像这样的课程:
class SomeTests {
private Guid[] someGuids = new Guid[] { ... }
public void ThoseGuidsShouldAlwaysBeThere() {
foreach (Guid g in someGuids) { // error appears here
// ...
}
}
}
从语义上讲,我想someGuids
成为const
,因为它们不应该被更新,除非在重新编译代码之前。但是添加const
关键字会产生错误 CS0168:null is not valid in this context.
阅读该错误的 MSDN 页面,在我看来编译器认为我正在这样做:
foreach (Guid g in null) {
我不明白在这里添加是如何const
导致这个问题的,以及如何解决我的语义问题(列表是只读的,不可写)——将其保留为数组而不是列表“几乎”足够好。