私はint配列のリストを持っています。リストは1〜4のアレイであり得る。 個々のスレッドで各配列を合計する方法と、加算された値を新しいint配列に配置することについては、 を知りたいと思います。C#コンソールアプリケーション内の各配列のスレッドを使用した整数配列のリストの集計
答えて
あなたはこのコードは、あなたが求めるものを行います例
List<int[]> arraysList = new List<int[]>();
arraysList.Add(new int[] { 2, 3, 5 });
arraysList.Add(new int[] { 2, 3, 5, 9, 123, 5 });
arraysList.Add(new int[] { 3 });
arraysList.Add(new int[] { 9,8 });
ConcurrentBag<int> SummedValueOfEveryArray = new ConcurrentBag<int>();
Parallel.ForEach(arraysList, array =>
{
SummedValueOfEveryArray.Add(array.Sum());
});
//Your result
var result = SummedValueOfEveryArray.ToArray<int>();
//The sum of all arrays
var totalSum = SummedValueOfEveryArray.Sum();
ありがとうございます。可能であれば、私は標準化されたスレッド方法を望んでいました。 –
@RyanRichard「標準化法」とはどういう意味ですか? ここにはすべての配列のための1つのシアードがあります(4または4000があるかどうかは関係ありません) PS:prof1990の答えは最終的な配列の順序が保たれているのでいいです – user244943
を持つ新しい配列の順序はここでは重要ではない場合。ただし、.Netがパフォーマンスを向上させることができると判断した場合にのみ、これは並列化されます。
List<int[]> intlist = new List<int[]>();
int[] result = intlist.AsParallel().Select(arr => arr.Sum()).ToArray();
1から4の配列が与えられていると仮定すると、.Netは並列化のポイントを決して見ないことがあります。しかし、絶対に必要な場合は、以下のようにParallel.Forを使用して並列化を強制することができます。
List<int[]> intlist = new List<int[]>();
int[] result = new int[intlist.Count];
Parallel.For(0, intlist.Count, i =>
{
result[i] = intlist[i].Sum();
});
"与えられた1から4の配列には非常に小さな点があります。 " - 非常に間違っています。予想される利得は、それらのアレイの長さだけに依存する。 –
ポイント、それを変えて、私が執筆中に寝ていたと思う – prof1990
- 1. 整数配列内のサブ配列の合計を求める
- 2. c#整数配列のリストを検索
- 3. C++配列を使用しないユーザ定義の配列の整数
- 4. リスト内のC#配列
- 5. パイソン - 混合配列内の値の各発生を見つける(整数、リスト)
- 6. アトミック整数配列のスレッドを使用する
- 7. 配列内の各要素/整数に数値を加える
- 8. 整数配列内の各要素のJavaカウントの発生
- 9. 列内の行および/またはクロス集計配列を
- 10. 集計配列
- 11. 配列の数値を集計する
- 12. 配列内の各値の出現数を計算する
- 13. 配列の3文字の整数への配列C#
- 14. 配列内の配列を数え、合計します。MongoDB NodeJS
- 15. のMongoDB:集計配列
- 16. CodeIgniter:配列内の配列を使用
- 17. OpenMp - 各スレッドのループ/配列の境界
- 18. 関数内のC++配列
- 19. 配列内の整数の差JAVA
- 20. Cの整数配列を渡す++ DLL
- 21. カスタムキーを使用したC#の配列またはリスト
- 22. lodashを使用した配列内部の配列
- 23. スレッド内のグローバル配列
- 24. 配列内の変数を集める
- 25. は集計配列
- 26. 各ループの配列インデックスC#
- 27. 配列を集計する - Objective-C
- 28. Postgresの配列列から集計された別個の値の配列
- 29. 文字列配列を使用したソート関数 - Cのエラー
- 30. 列内のgrouped_by変数を使用したクロス集計のデータの集約
"summed value"または "summed values"?違いが生じます。コードのアウトラインを提供することに害はありません。 –
申し訳ありませんが、合計値は –
です。質問を編集するには遅すぎることはありません。 –