Mam nadzieję znaleźć lepszy sposób (może z ładnym wyrażeniem linq), aby przekonwertować listę ciągów, np. "41,42x, 43" na lista ważnych longów. Poniższy kod działa, ale po prostu jest brzydki.Szukasz prostego sposobu na przekonwertowanie listy ciągów do prawidłowej listy <long> w C#
string addressBookEntryIds = "41,42x,43";
var ids = addressBookEntryIds.Split(new[] {',', ';'}, StringSplitOptions.RemoveEmptyEntries);
var addressBookEntryIdList =new List<long>();
foreach (var rec in ids)
{
long val;
if (Int64.TryParse(rec, out val))
{
addressBookEntryIdList.Add(val);
}
}
Testowałem to w Linqpad; Robię coś podobnego z niebezpiecznymi danymi wejściowymi w moim kodzie, ale moje dane źródłowe faktycznie pochodzą z SQL. Nie powiem, że to jest w jakikolwiek sposób ładniejsze - myślę, że twój oryginalny kod jest w porządku. Jest zwięzły, jasny i na temat. – SAJ14SAJ