使用 Linq 对数组的特定索引中的值求和

Sen*_*ncy 1 linq arrays sum multidimensional-array

我有一个对象数组

object[] arr=new object[]
                            {
                                "Kushan",       // Index = 0 ( data Type is String)
                                10,             // Index = 1 ( data Type is double)
                                15,             // Index = 2 ( data Type is double)
                                25,             // Index = 3 ( data Type is double)
                                "yytdhj"        // Index = 4 ( data Type is String)
                                35,             // Index = 5 ( data Type is double)
                                88,             // Index = 6 ( data Type is double)
                                65,             // Index = 7 ( data Type is double)
                                98,             // Index = 8 ( data Type is double)
                                "Address"       // Index = 9 ( data Type is String)
                            };
Run Code Online (Sandbox Code Playgroud)

我想取索引 1,2,3,5,6,7,8 处元素的总和这可以使用 linq 来做到吗?如果可能怎么办?


P:S:

抱歉让你误解了,我真的想使用特定的索引来计算总和。不看数据类型。

Jon*_*eet 5

在这种情况下,您将所有double值加在一起。如果这就是你真正想要的,你可以使用:

var sum = arr.OfType<double>().Sum();
Run Code Online (Sandbox Code Playgroud)

否则,如果您确实需要使用索引,则需要以下内容:

var sum = indexes.Select(x => (double) arr[x])
                 .Sum();
Run Code Online (Sandbox Code Playgroud)

(假设您在某种集合中拥有索引。)