Spero di trovare un modo migliore (magari con una bella espressione di linq) per convertire una lista di stringhe come "41,42x, 43" a una lista di lunghi validi. Il codice seguente funziona, ma sembra solo brutto.Alla ricerca di un modo pulito per convertire una lista di stringhe in Elenco valido <long> in 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);
}
}
Ho provato questo in Linqpad; Faccio qualcosa di simile con input non sicuri nel mio codice, ma i miei dati sorgente provengono effettivamente da SQL. Non dirò che questo è più carino in alcun modo - penso che il tuo codice originale sia perfetto. È conciso, chiaro e al punto. – SAJ14SAJ