在C ++中,你会看到void func(const T& t)
无处不在。但是,我在.NET中没有看到类似的东西。为什么?
我注意到使用struct的参数很多。但是我看不到readonly / const的函数。事实上,现在我尝试了它,我不能使用这些关键字来制作一个承诺不修改传入的列表的函数。有没有办法让调用者承诺这个函数永远不会修改列表的内容?有没有办法说调用代码并说这个列表永远不应该被修改?(我知道我可以克隆列表或查看文档,但我喜欢编译错误)
发布于 2019-05-20 11:11:56
const
C#中的方法参数没有修饰符。如果你想拥有类似于const保证的东西,你可以在接口中使用不可变类型。例如,方法可以接受IEnumerable<T>
而不是可变集合类型。你也可以看看ReadOnlyCollection
。
https://stackoverflow.com/questions/-100001156
复制相似问题