How to trim every string element in an array of strings without using a loop?

var gender = from row in excel.Worksheet()
             select row["Gender *"].Value.ToString();
string[] genderArray = gender.ToArray().Distinct().ToArray();

in this case, the content of genderArray is {"F", "M", "M"}

I want genderArray to only contain {"F", "M"}

+3
source share
4 answers
var gender = (from row in excel.Worksheet()
                 select  row["Gender *"].Value.ToString()) ;
    string[]  genderArray = gender.ToArray().Distinct().Select(g=>g.Trim()).ToArray();

You can also do .Trim in the first query regarding Value.ToString (). Trim (). Edited: Perhaps I chose a choice in the query.

+5
source
var gender = (from row in excel.Worksheet() 
            select row["Gender *"].Value.ToString().Trim()) ;
+4
source

Have you tried to use String.Trim()?

var gender = (from row in excel.Worksheet()
             select  row["Gender *"].Value.ToString().Trim()) ;
string[]  genderArray = gender.ToArray().Distinct().ToArray();
+1
source

Here's how I would handle this:

var data = new List<string> {"F", "M", "M "};
var gender = data.Select(x => x.Trim()).Distinct().ToArray();

Or if you prefer:

var gender = (from x in data select x.Trim()).Distinct().ToArray();
+1
source

All Articles