in 关键字有三个用途:

a)作为 foreach 语句中语法的一部分或作为 LINQ 查询中语法的一部分

foreach (var member in sequence)
{
    // ...
}

b)在通用接口和通用委托类型的上下文中,表示相关类型参数的逆变

public interface IComparer<in T>
{
    // ...
}

c)在 LINQ 查询的上下文中,查询正在查询的集合

var query = from x in source select new { x.Name, x.ID, };