2017-04-19 3 views
-1

私はList<model> &の日付を持っています。私はforeachの日付プロパティを使っています。これらの日付は1か月の日付です。C#foreachいくつかの値をスキップすることによって

私の要件は、別のList<OT>に同じ月の日付が含まれていることです。

は私がforeachが最初&休息日はORDER BY句反復される反復されるList<OT>にさかのぼるように反復します。

ここから簡単な方法は何ですか?

+2

'.ToListは()'で*冗長*です文脈: 'foreach'は、それぞれのステートメントに' IEnumerable ' –

+0

を使用して行います。 –

+2

@DmitryBychenko要件に依存します。 foreachループ内でempsコレクションを変更する場合は、ToList()を使用する必要があります。ループのコード全体を見なければ、冗長かどうか判断できません –

答えて

1

あなたは再び1つのコレクションに一緒に両方の、二つの部分にソースコレクションを分割する順序を適用し、連結する必要があります。

List<DateTime> datelist = ... 

var firstpart = emps.Where(m => datelist.Contains(m.a.Entry_Date)).ToList(); 
var secondpart = emps.Except(firstpart).OrderBy(m => m.a.Entry_Date); 
var collection = firstpart.Concat(secondpart); 

foreach (var item in collection) 
{ 
    .... 
} 

.Net Fiddle Sample

関連する問題