Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

C# Detecting null characters in a string array

I am reading in from a text file using StreamReader into a string array text[]. One of the lines in the textfile is being read in as "\0" in positions 1 -> 20 of the array. How would I go about detecting this null character and ignoring this line.

Code example:

StreamReader sr = new StreamReader(Convert.ToString(openFileDialog1.FileName));
while (!sr.EndOfStream)
{
    string l= sr.ReadLine();
    string[] parsedLine = l.Split(new char[] { '=' },StringSplitOptions.RemoveEmptyEntries);
    // Not working:
    if (parsedLine.Length == 0)
    {
        MessageBox.Show("Ignoring line");
    }

Any help would be great!

like image 976
Daniel Flannery Avatar asked Oct 27 '25 14:10

Daniel Flannery


2 Answers

Assuming you mean a character with ascii code: 0

   if (parsedLine.Length == 0 || parsedLine[0] == '\0')continue;

edit the above will work if parsedLine is a string, but for the parsing in your code:

    string[] parsedLine = l.Split(new char[] { '=' },StringSplitOptions.RemoveEmptyEntries)
                      .Where(s=>s.Length != 1 || s[0] != '\0').ToArray();
like image 129
Me.Name Avatar answered Oct 29 '25 04:10

Me.Name


Just ignore the line if it contains the null character.

string l = sr.ReadLine();
if (string.IsNullOrEmpty(l) || l[0] == '\0'))
   continue;
...
like image 44
bruno conde Avatar answered Oct 29 '25 03:10

bruno conde



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!