"41,42x, 43" gibi bir dize listesini dönüştürmek için daha iyi bir yol bulabilirim (belki de güzel bir linq ifadesiyle) geçerli uzunların listesi. Aşağıdaki kod çalışır, ancak sadece çirkin hisseder.Bir dize listesini geçerli listeye dönüştürmek için temiz bir yöntem mi arıyorsunuz? <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);
}
}
Bunu Linqpad'de test ettim; Kodumda güvensiz girdiyle benzer bir şey yapıyorum, ancak kaynak verilerim SQL'den geliyor. Bunun hiçbir şekilde daha güzel olduğunu söylemeyeceğim - orijinal kodunuzun iyi olduğunu düşünüyorum. Bu özlü, açık ve noktaya. – SAJ14SAJ