Collisions in games are usually handled by physics engines. Mobile games sometimes forgo the physics engine in favor of more efficient hand-coded collisions, but with how powerful mobile devices are getting this is becomming less and less of a concern. Let's explore a few engines
Farseer is one of the few engines specifically targetted at C#. As such, it was actually written in C#! This is their official description: Farseer Physics Engine is a collision detection system with realistic physics responses. This means you can create a game or robotic simulation easily using the engine and the associated tools. Everything from a simple hobby game to a complex robotic simulation is possible with Farseer Physics Engine
The other engine written specifically for C#! It's a port of a non C# engine, but it performs quet well
Unity, and most AAA games that ship use this as their physics engine. Written and maintained by NVidia, this engine has amazig performance as it can run mainly on the GPU.
THE OPEN SOURCE ONE! Bullet is the Open Source Physics Engine of choice. It's been used in millions of student and professional projects. It's open source nature means someone has pretty much ported it to every platform.
The Open Dynamics Engine is bullets main open source competitor. I think the code is better, but it's under a very aweful, GPL License. The license basically means this can only be used in other open source projects. So, the library does not get much love.
This one is not actually a physics engine. It's just a bunch of hand-coded collision detection code. I often turn to this library when i'm stuck on a hard problem.