如何在C#中基于int数组优雅创建Tuple<int,int,bool>数组
用LINQ实现更优雅的数组转换
你原来的循环实现完全没问题,但用LINQ可以把整个逻辑浓缩成一行代码,写法更简洁直观,也更符合C#的现代风格:
int[] a = [1, 2, 3, 4, 5]; var result = a.Select(i => Tuple.Create(i, i * 2, i % 2 == 0)).ToArray();
代码细节说明:
Select:LINQ的投影方法,遍历原数组的每一个元素,将其转换为你需要的Tuple结构Tuple.Create():比直接new Tuple<...>更简洁,编译器会自动推导泛型参数类型,减少冗余代码ToArray():将LINQ查询的结果(IEnumerable<Tuple<int,int,bool>>)直接转换为目标类型的数组,省去手动创建List再转数组的步骤
这种写法属于声明式编程,你只需要告诉程序“我要把每个元素转换成什么样的Tuple”,不需要手动管理集合的创建、循环添加这些细节,代码可读性和简洁度都提升不少。
内容的提问来源于stack exchange,提问作者5argon
相关产品推荐
相关产品推荐

