C#中var和IEnumerable之间的区别?

Ati*_*MVP 1 .net c# ienumerable var

我正在阅读这篇文章,以了解var和IEnumerable之间的区别.作者写了四点如下

  1. 如果要动态制作"自定义"类型,请使用Var类型.
  2. 当您已经知道查询结果的类型时,请使用IEnumerable.
  3. Var也适用于远程收集.
  4. IEnumerable适用于内存中的集合.

点不.3和4对我来说并不清楚.请通过示例帮助理解这一点

Gra*_*mas 6

这里一切都错了,至少简单地说:

  • 这是错误的,结果类型将始终是返回的类型,无论是否明确指定;
  • 如果你打算使用结果,你还是需要知道类型!var没有改变;
  • 这第三项是纯粹的poppycock; 它本身没有任何意义;
  • IEnumerable通常只是表示内存中的集合(它不就得了,头脑,因为它是唯一的坚持,不管他们最终存储的合同集合TOI)和观念在很大程度上并列这个问题的休息;

var但是,关于使用更广泛的概念的使用说明:使用var通常只是一个好主意,当结果类型基于当前声明显而易见时 - 我真的不理解Darren的推理或者它将如何有用,但请考虑以下事项:

var results0 = new List<string>();    // assignment type is obvious 
var results1 = something.GetResult(); // read must investigate to know
Run Code Online (Sandbox Code Playgroud)