@ - это управляющий символ, который позволяет использовать ключевые слова в качестве имен символов. Например, вы не могли нормально сделать:
object object = something;
... потому что объект является ключевым словом, но вы можете сделать:
object @object =
void DoSomething(params object[] @params) {
... и т.д.