我在我们的应用程序中找到了一些代码,它通过List<T>引用来表明它已被修改:
void DoSomething(ref List<MyType> theList)
{
theList.Add(new MyType());
}
Run Code Online (Sandbox Code Playgroud)
我认为很明显ref-keyword在这种情况下已经过时了,因为我们还可以在没有关键字的情况下向列表中添加新元素.但是它表明我们修改了列表或至少修改了它的元素.我发现如果你有很多参数并希望看到哪些参数被修改以及哪些只是作为值来传递,那么这个特别有用.
如果这是好的问题肯定是基于意见的,对SO来说是无效的,我宁愿问是否有另一种方法来实现这一点,或者我是否应该关心它.
编辑:稍微澄清一下我的问题.如果列表被修改,则不会出现此问题,这只是一个示例.或者我也使用任何其他参考类型,而不仅仅是List<T>.