You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何高效通过Linq选择列表中特定索引位置的类属性?

无需创建中间List的优化实现

针对你的场景,完全可以跳过创建Ts这个中间List的步骤,直接通过索引从microstructures中获取目标属性,以下是两种简洁高效的实现方式:

方式一:直接遍历索引(最直观)

提前初始化结果List的容量可以避免多次扩容,进一步提升效率:

var indices = new List<int>() {1, 3, 7, 15, 30, 50};
var list = new List<double>(indices.Count);
foreach (var index in indices)
{
    list.Add(microstructures[index].T);
}

方式二:Linq简洁写法

用Linq直接对indices做映射,一步得到结果:

var indices = new List<int>() {1, 3, 7, 15, 30, 50};
var list = indices.Select(i => microstructures[i].T).ToList();

补充说明

你的数据规模很小(microstructures元素数<100,indices仅约10个),几种写法的性能差异几乎可以忽略,但上述两种方式都避免了额外的中间List创建,减少了不必要的内存占用,代码逻辑也更紧凑。如果后续microstructures规模大幅增长,这种优化的收益会更显著。

内容的提问来源于stack exchange,提问作者Andreas

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 12:00:59