私はこれは非常に些細なことになると思いますが、それをどうやってやるかはわかりません。 List<int>
があり、数値の範囲を合計したい。
私のリストは次のとおりです:
var list = new List<int>()
{
1, 2, 3, 4
};
最初の3つのオブジェクトの合計を取得するにはどうすればよいですか?結果は6になりました。Enumerable.Range
を使用してみましたが、動作させることができませんでした。
しないで:
int sum = list[0] + list[1] + list[2];
var list = new List<int>()
{
1, 2, 3, 4
};
// 1 + 2 + 3
int sum = list.Take(3).Sum(); // Result: 6
他の場所から始まる範囲を合計する場合は、 Skip
を使用できます。
var list = new List<int>()
{
1, 2, 3, 4
};
// 3 + 4
int sum = list.Skip(2).Take(2).Sum(); // Result: 7
または、 OrderBy
または OrderByDescending
を使用してリストを並べ替えてから、合計します。
var list = new List<int>()
{
1, 2, 3, 4
};
// 3 + 4
int sum = list.OrderByDescending(x => x).Take(2).Sum(); // Result: 7
ご覧のとおり、このタスク(または関連タスク)を達成する方法はいくつかあります。 Take
、 Sum
、 Skip
、 OrderBy
& OrderByDescending
詳細についてはドキュメント。