C# static Main(strng[] args) : Hi I'm trying to learn some C# programming and I came across something that I'm having a difficult time udnerstanding. I usually deal with vb6 vb.net and vba for the most part so i have some understanding of programming. here's what I'm not sure about...

Let's say you have two snippets of code..

    1)
    static int Area(int h, int w)
    {
     return h*w;
    }

    2)
    static void Main(string[] args)
    {
     int res = Area(w: 5, h: 8);
     console.writeline(res);
     }

So in the first snippet, I'm doing the return which does the multiplication of H * W but we do not write it as we do in the #2 with console.writeline? What does the return actually do? 

In #2 - the first line static void Main(string[] args) - especially the string []args part - what does this mean? 