I want to know how many iteratons were done by LINQ. so i wrote a simple query

```
string xx = "The quick brown fox jumps over the lazy dog";

char search = 'f';

int j = 0;

var result = xx.Select((b, i) => 
{
    j++;
    return b.Equals(search) ? i : -1;
})
.Where(i => 
{
    j++;
    return i != -1;
});

MessageBox.Show(j.ToString());

```

I thought that `j` would contain the number of iterations done but surprisingly it remains 0. Why is it so? and secondly how to find out how many iteratons were done by LINQ.