"41,42x、43"のような文字列リストに変換するには、良いlinq式を使用する方が良いでしょう有効なlongのリスト。以下のコードは動作しますが、ちょうど醜い感じです。C#で有効なリスト<long>に文字列リストを変換するためのきれいな方法をお探しですか?
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