ここでは、http://bytes.com/topic/c-sharp/answers/447223-foreach-list-foreachを読んで、デリゲートループのパフォーマンスがforeachコマンドのパフォーマンスより低いことを伝えています。foreachとdelegateループの違いは何ですか?
私は両方の違いが何であるか知りたいです。なぜforeachが優れているのか、そしてその場合は委譲ループを使うだけです。
両方を比較している人はいますか?
ここでは、http://bytes.com/topic/c-sharp/answers/447223-foreach-list-foreachを読んで、デリゲートループのパフォーマンスがforeachコマンドのパフォーマンスより低いことを伝えています。foreachとdelegateループの違いは何ですか?
私は両方の違いが何であるか知りたいです。なぜforeachが優れているのか、そしてその場合は委譲ループを使うだけです。
両方を比較している人はいますか?
これらの2つのソリューションを実装し、ILで比較することができます。
次に、重要な違いがあることがわかります。
パフォーマンスについて2つのアプリケーションを書きますが、診断では1ミリ秒のエントリを持つループを作成して実行します。その後、実行時間を比較します。
EDIT:
違いは、構文についてuknow法により確認
delegate StringListOperator(string s)
public operate(StringListOperator operator) {
String.ForEach(operator);
}
I'nない100%の例の文字列リストの操作を行うことができ、デリゲートを使用して、利用状況にあるかもしれないが、私は願っていますあなたはポイントを持っています。
いくつかの方法でリストを反復する予定がある場合IMHOは単純なforeachを使用しますが、これは私のための構文砂糖のように見えます。
このリンクをご覧ください:http://www.eggheadcafe.com/software/aspnet/33593372/delegate-vs-foreach-loop.aspx 質問にはあなたの質問とコメントにかなり良い答えがあります。
パフォーマンスは通常問題にはなりませんが、デリゲートとforeachループの使用時には状態キャプチャに注意する必要があります。基本的に、コンパイラは、定数ではないループ内で使用されている変数を、ネストされたフィールドのセットにコピーします。これはときには望ましくない効果を呼び出すことがあります
私はあなたの言うことを知っていますが、私は他人が知っているものを得ることができます。なぜ私は本当にこのコードを書くのですか? –