You can implement a two pass system as well, the first pass can determine how big the buffer must be.
I want to provide constructive criticism to say why you are getting downvotes, because it is frustrating to receive a negative reputation with out explanation.
That is the wrong language; there is no strcat() that I'm aware of in C#, and character arrays are not what is being used. That's also one of the least efficient ways to concatenate a collection of strings, due to having to count the length of the buffer each time you concatenate the string, which takes longer and longer.
Thank you. I didn't see the C# icon until just now.
Do you know of any catalogs of different types of particle effects so I can learn how they are made ? I made a little engine and editor and the stuff I'm coming up with doesn't look very professional. I know it's a complex subject but I'm just trying to make cool looking stuff for an essentially 2D game, I'm not necessarily looking for realism either.
One thing I'm running into is the effects I make look decent on one colored background (like gold) but not another (like blue). The different levels in my game will have different colored backgrounds so this is disheartening.