Как можно проварьировать стандартные части программы Hello World на C#?
хеллоуворд видится как какой-то буддистский коан.
Минимальный современных хеллоу ворлд выглядит так:
Console.WriteLine("Hello world!");

Чтобы разобраться во всех следующих пунктах тебе следует продолжать изучать (хоть по курсу, хоть по книге), иначе всё расписывание само по себе потянет на небольшую книгу, или хотябы брошюру, и при этом врядли как-то тебе поможет:

1. Можно просто убрать этот конкретный using, используя global usings или используя полные имена типов
2. Можно не писать namespace или написать любой свой собственный. Или можно использовать file scoped namespace
3. Можно придумать своё имя класса, можно сделать его статичным, можно сделать явно приватным или публичным.
4, 5, 6.  Main (точка входа) обязан быть статичным. Другие методы могут быть не статичными.
Main можно сделать публичным или приватным, можно дать другое имя, но тогда придётся в опциях компилятора указать, какое имя.
Main можно сделать асинхронным - тогда вместо void или int (Да, он может возвращать int) будет Task или Task
7,8,9. string[] args можно не указывать, или дать этому параметру другое имя (не args), но принимать что-то иное нельзя
10,11. Это уже относится к телу метода и оно может быть любым. Но вместо Console.WriteLine можно написать полное имя - System.Console.WriteLine или сделать using static System.Console и тогда можно будет написать просто WriteLine
В дополнение к комментарию выше:
>>1. Можно просто убрать этот конкретный using, используя global usings или используя полные имена типов
Это избавит от одного и того же using в формах/классах. 
global using - это в рамках всего решения.

От себя: если у вас там не только Привет-Мир будет, а что-то, что может вызвать ошибки, тогда не void, а int - вы сможете возвращать код ошибки. То есть 0, если все прошло без ошибок.

У себя в проектах использую передачу переменных по ссылке, так что иногда у меня в таких аргументах и код ошибки, и описание, а сама функция, например, возвращает System.Data.DataView, и тогда если переданная по ссылке переменная iError больше нуля - тогда я даже не обращаюсь к результату выполнения: он, скорее всего, null. Вообще, в функции я передаю много чего по ссылке, их может быть сколько угодно. Если я в функции форматирую что-то в HTML, я могу по ссылке вернуть в переменную и обычный текст.