I don't actually know any c#, but I'll give it a shot.
b2Island is the class name, island is the instance name, and the stuff in the brackets is the parameters passed in to the constructor. I believe the main difference is the lack of the 'new' keyword.
The other thing is the '&' symbol which indicates that a pointer will be passed to constructor rather than the object itself.
I had a quick look and I think in c# you would use the 'ref' keyword to the same effect?
So if that's right then it should translate to this:
Code:
// Size the island for the worst case.
b2Island island = new b2Island(m_bodyCount, m_contactCount, m_jointCount, ref m_stackAllocator, m_contactListener);
It probably wouldn't hurt to look in to learning a bit of c++, maybe read up on the differences between the languages, particularly in regard to pointers and references and such.
Hope that helps in some way..
-Matt