C# Question

C#: splitting a string and not returning empty string

I have a string:

a = "1;2;3;"


And I would like to
split
it this way:

foreach (string b in a.split(';'))


How can I make sure that I return only
1
,
2
,
3
and not an 'empty string'?

If I split
1;2;3
then I will get what I want. But if I split
1;2;3;
then I get an extra 'empty string'. I have taken suggestions and done this:

string[] batchstring = batch_idTextBox.Text.Split(';', StringSplitOptions.RemoveEmptyEntries);


However, I am getting these errors:


Error 1 The best overloaded method match for 'string.Split(params
char[])' has some invalid arguments C:\Documents and
Settings\agordon\My Documents\Visual Studio
2008\Projects\lomdb\EnterData\DataEntry\DAL.cs 18 36 EnterData

Error 2 Argument '2': cannot convert from 'System.StringSplitOptions'
to 'char' C:\Documents and Settings\agordon\My Documents\Visual Studio
2008\Projects\lomdb\EnterData\DataEntry\DAL.cs 18 68 EnterData

Answer

String.Split takes an array when including any StringSplitOptions:

string[] batchstring = batch_idTextBox.Text.Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries);

If you don't need options, the syntax becomes easier:

string[] batchstring = batch_idTextBox.Text.Split(';');