更多相關用法

public IEnumerable<User> SelectUsers()
{
    // Execute an SQL query on a database.
    using (IDataReader reader = this.Database.ExecuteReader(CommandType.Text, "SELECT Id, Name FROM Users"))
    {
        while (reader.Read())
        {
            int id = reader.GetInt32(0);
            string name = reader.GetString(1);
            yield return new User(id, name);
        }
    }
}

當然,還有其他方法可以從 SQL 資料庫中獲取 IEnumerable<User> - 這只是證明你可以使用 yield 將任何具有元素序列語義的東西變成某個人可以迭代的東西。