Not sure why you need to have 100 rows. 1 string will do as you can convert that to an array of chars in the code, but I'm sure you must have a reason ;)
/Edit: This assumes you use .Net4.0 and above
char[] invalidCharacters = @"!@'#,.$%_/\".ToArray();
string textToTest = "foo@bar";
bool isValid = textToTest.ToArray()
.Join(invalidCharacters,
ttt=>ttt,
ic=>ic,
(ttt,ic)=>ttt)
.Any();
I have used an invalid char string but I hope you can see how you could use your table instead. You could use this query to return a list of the invalid chars used also, just knock off the Any().
Let me know via comment if you need any more on this ^_^