"这个" -keyword在这个foreach循环中做了什么?

时间:2014-12-20 00:03:42

标签: c# pointers foreach this

这个"这个"在这段代码中做了什么和指向什么? 是否可以在没有关键字"这"?

的情况下编写foreach-loop
public class Member : IUser {

    public string Username { get; set; }
    public string Firstname { get; set; }
    public string Lastname { get; set; }
}


public class MemberList : List<Member> {
    public MemberList StartsWith(string str) {
        var result = new MemberList();
        foreach (var m in **this**) {

            if (m.Username.StartsWith(str)) {
                result.Add(m);
            }
        }
        return result;
    }
}

我感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

它将调用当前的类GetEnumerator方法。由于您的类继承自List<Member>,因此它将使用该列表的foreach循环枚举器。

对当前类实例的this关键字引用,当您拥有需要引用自身的方法时非常有用。

您可以在this (C# Reference) page

上详细了解this