我有一个对象列表,其中对象具有一个字符串属性,该属性是一个逗号分隔的数字 ID 列表。
提取逗号分隔值并获取 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"