If I understand correctly, you are able to extract character (+, * etc) from a string.
But Your char.IsSymbol returns true only for + symbol and not for others.
This is expected behaviour as IsSymbol works little strangely. It returns true only if character belonngs to one of the following Unicode categories. MathSymbol, CurrencySymbol, ModifierSymbol, and OtherSymbol.
And guess what, * , - doesn't fall in any of this category. Check yourself with following code
Console.WriteLine(Char.GetUnicodeCategory('*').ToString());
Console.WriteLine(Char.GetUnicodeCategory('-').ToString());
The best way to identify then is by putting switch case and manual character code comparison.
Hope that helps
Milind