我希望找到一個更好的方法(也許有一個很好的linq表達式)將字符串列表像「41,42x,43」轉換爲有效期的列表。下面的代碼有效,但感覺很難看。尋找一個乾淨的方式來將字符串列表轉換爲有效列表<long>在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);
}
}
我在Linqpad中測試了這個;我在代碼中執行類似於不安全輸入的操作,但我的源數據實際上來自SQL。我不會說這在任何方面都更漂亮 - 我認爲你的原始代碼很好。它簡潔明瞭,重點突出。 – SAJ14SAJ