Как обрезать каждый строковый элемент в массиве строк без использования цикла? - PullRequest
3 голосов
/ 06 июня 2011
var gender = from row in excel.Worksheet()
             select row["Gender *"].Value.ToString();
string[] genderArray = gender.ToArray().Distinct().ToArray();

в этом случае содержимое гендерного массива: {"F", "M", "M"}

я хочу, чтобы полВассива должен содержать только {"F", "М"}

Ответы [ 4 ]

5 голосов
/ 06 июня 2011
var gender = (from row in excel.Worksheet()
                 select  row["Gender *"].Value.ToString()) ;
    string[]  genderArray = gender.ToArray().Distinct().Select(g=>g.Trim()).ToArray();

Вы также можете сделать .Trim в первом запросе для Value.ToString (). Trim ().Отредактировано: возможно, я не на месте выбора в запросе.

4 голосов
/ 06 июня 2011
var gender = (from row in excel.Worksheet() 
            select row["Gender *"].Value.ToString().Trim()) ;
1 голос
/ 06 июня 2011

Вот как бы я занялся этим:

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

Или, если вы предпочитаете:

var gender = (from x in data select x.Trim()).Distinct().ToArray();
1 голос
/ 06 июня 2011

Вы пробовали использовать String.Trim()?

var gender = (from row in excel.Worksheet()
             select  row["Gender *"].Value.ToString().Trim()) ;
string[]  genderArray = gender.ToArray().Distinct().ToArray();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...