Какие есть разновидности операций присваивания в C#?

В ходе изучения шарпа наткнулся на разные операции присваивания, расскажите пожалуйста коротко про все)

Кроме привычной операции "=" в шарпе есть куча разных способов присвоить значение через какие-либо условия: =, -=, *=, /= и тд (перед "равно" тупо ставим любой оператор). Идея такая: сначала выполняем действие, затем присваиваем.

A =B <=> A = A B; A ^= B <=> A = A^B и тд