Why are you trying to store a string (which is at best a character array) in an array of integers?
What you need to do depends on exactly what the device at the other end of the serial port is sending you: and probably, it isn't "directly" numeric at all - it's either a string containing integer values with separators, or it's a sequence of byte values which shouldn't go anywhere near a string at all (because char values are Unicode 16 bit values, and the translation at occurs may corrupt your byte based data).
So start by looking at exactly what the device is sending - possibly using the
SerialPort.Read Method (System.IO.Ports) | Microsoft Docs[
^] instead of ReadExisting so you get the "raw" data - and work out exactly what is supposed to arrive.
And bear in mind that serial port data is very slow in comparison to your processor, so it is very unlikely that you will get the "whole message" in a single call to Read or ReadExisting - so converting data directly as it arrives can be a very poor way to do things.