2011-07-05 5 views
0

のは、私のようなクラスがあるとしましょう:C#でのジェネリックリストのフィルタリング:静的なデリゲート(述語)の方が高速ですか?

public static class ListFilters 
{ 
    public static ulong FilesLargerThanValue { get; set; } 
    public static bool FilesLargerThan(FileData data) 
    { 
     return (data.Size >= ListFilters.FilesLargerThanValue); 
    } 
} 

を、私は呼びたい

ListFilters.FilesLargerThanValue = 1000000; 
List<FileData> filteredList = pathScanner.AllFilesList.FindAll(ListFilters.FilesLargerThan); 

私の質問は:

.NET 2.0では

、希望のコードの実行速度私の場合ListFiltersクラスは、静的な(とList.FindAll静的であるに行く述語)のように定義されて?

+0

メンバーメソッドとは対照的に、私は推測する? –

+3

私はその可変静的変数のファンではありません... – ChaosPandion

+0

はい、メンバーメソッドとは対照的です。 – AnAurelian

答えて

1

thisを参照してください、私はあなたが任意の改善を得るだろうとは思いません。静的メソッド内のコードは速く実行されませんが、静的メソッドの呼び出しが高速になる可能性があります。そして、私はあなたが期待しているとは思わない。

関連する問題