相关疑难解决方法(0)

为什么(它真的吗?)List <T>实现所有这些接口,而不仅仅是IList <T>?

List 来自MSDN的声明:

public class List<T> : IList<T>, ICollection<T>, 
 IEnumerable<T>, IList, ICollection, IEnumerable
Run Code Online (Sandbox Code Playgroud)

反射器给出了类似的图片.难道List真的实现所有这些(如果是为什么)?我检查过:

    interface I1 {}
    interface I2 : I1 {}
    interface I3 : I2 {}

    class A : I3 {}
    class B : I3, I2, I1 {}

    static void Main(string[] args)
    {
        var a = new A();
        var a1 = (I1)a;
        var a2 = (I2)a;
        var a3 = (I3)a;

        var b = new B();
        var b1 = (I1) b;
        var b2 = (I2)b;
        var b3 = (I3)b; …
Run Code Online (Sandbox Code Playgroud)

.net c#

67
推荐指数
3
解决办法
4065
查看次数

我为什么要在循环中使用foreach而不是for(int i = 0; i <length; i ++)?

在C#和Java中循环的酷炫方式似乎是使用foreach而不是C style for循环.

我有理由比C风格更喜欢这种风格吗?

我对这两种情况特别感兴趣,但请解决您需要解决的问题.

  • 我希望对列表中的每个项目执行操作.
  • 我正在搜索列表中的项目,并希望在找到该项目时退出.

.net c# java foreach loops

45
推荐指数
7
解决办法
3万
查看次数

标签 统计

.net ×2

c# ×2

foreach ×1

java ×1

loops ×1