The police dispatch centre received a phone call shortly before midnight from an informant who said someone had been shot at the centre.
A man was found lying on the ground, Zurich police said.
Resuscitation efforts were unsuccessful and the man died at the scene from gunshot wounds, police said.
Around the same time, police received a call from the supect, a 22-year-old Swiss man, who was subsequently arrested.
Police did not confirm the identity of the victim.
However, the website of the Blick newspaper said it received information from a witness to the killing who identified him as a Tunisian, aged 30.
The newspaper quoted an asylum centre resident as saying there were three gunshots fired.
The police department and the prosecutor’s office continue to investigate the case.