При написании сигнатуры метода можно написать так: async public void func()
А можно и так: public async void func()
Так что лучше с точки зрения чистоты кода?
Как поступать в ситуациях когда ключевые слова можно переставить?
Решарпер предлагает использовать второй вариант и его можно считать авторитетом в плане оформления.
В плане производительности разницы нет, это всего лишь оформление кода и ситуаций когда нужно было бы менять порядок просто нету.
RandomProgrammer, а забыл про них. Вот в каком порядке предлагает решарпер:
public
private
protected
internal
new
static
abstract
virtual
sealed
readonly
override
extern
unsafe
volatile
async
На счёт static и async я в ответе перепутал (уже поправил)