All answers are awesome and explained everything very well
but I just want to point out different way for passing args to main method
in visual studio
- right click on Project then choose Properties
- go to Debug tab then on the Start Options section provide the app with your args
like this image

and happy knowing secrets