轉換一個字符串列表
s
字符
string input = "1,2,3,4,s,6";
留意。
我只是想使用LINQ將這個字符串轉換爲List<int>
。我最初嘗試了這種方式:
var myList = new List<int>();
input.Split(',').ToList().ForEach(n =>
myList.Add(int.TryParse(n, out int num) ? num : -1)
);
lista.RemoveAll(e => e == -1);
但我更喜歡沒有任何-1
,而不是一個沒有數字字符。
所以現在我嘗試用這樣的:
var myList = new List<int>();
input.Split(',').ToList()
.FindAll(n => int.TryParse(n, out int _))
.ForEach(num => myList.Add(int.Parse(num)));
我喜歡這一點,但確實是一個恥辱,解析發生兩次(TryParse
先升後Parse
)。但是,據我所知,TryParse中的out變量是無用的(或不是?)。
你有其他人建議(使用LINQ)嗎?
https://stackoverflow.com/questions/1297231/convert-string-to-int-in-one -line-code-using-linq/37033140#37033140 – Slai