https://zoheirsoftware.com/blog/the-structure-for-loop-csharp