我有一個對象列表,其中的對象有一個字符串屬性,它是逗號分隔的數字Ids列表。Linq查詢選擇逗號分隔列表
提取逗號分隔值並獲取int數組的最有效方法是什麼?
目前我的解決辦法是這樣的:
var allCsvs = objects
.Select(o => o.IdCsv); // the IdCsv is a string property, ie "1,2,3,4,5"
var allIds = string.Join(",", allCsvs);
var idArray = allIds.Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries)
.Select(id => Convert.ToInt32(id));
對此處提高性能的任何想法?
更新:
的對象可能是這樣的:
class MyClass {
public string IdCsv { get; set; }
}
這個類的一個實例,可能有其字符串屬性IdCsv
設置爲這樣的事情:"1,2,3,4,5"
爲了理解,'IdCsv'已經是逗號分隔的id字符串了嗎? – digEmAll
'.Select(id => Convert.ToInt32(id));;'這部分不在你原來的問題中,這使我認爲你想將字符串列表解析爲int數組。 – Habib
請向我們展示'objects'背後的類,什麼是'IdCsv'? –