2016-09-08 15 views
0

foreachを使用してコレクションを反復したいが、各オブジェクトのプロパティで反復がどこに表示されるかを判断したい。これを基本的に達成するために、私は2つのforeachループを使用して、最初にプライマリリストを取得し、次にセカンダリリストを取得しました。値はDEPtxtであり、値を含むプロパティは、LINQクエリは、の2つの特性の一つで文字列値を持つすべてのオブジェクトをつかんでいるコンテキストに置くにはCourse_DepartmentsCourse_Departments2複数のforeachループをかぶる

@foreach (ContentNode node in pgnodes.Where(x => x.Data.Course_Departments.ToString() == DEPtxt)){ 

       <li class="sys_subitem" style="display: list-item;"><a title="@node.Title" href="@node.Path">@node.Title</a></li> 
      } 
      @foreach (ContentNode node in pgnodes.Where(x => x.Data.Course_Departments2.ToString() == DEPtxt)){ 

       <li class="sys_subitem" style="display: list-item;"><a title="@node.Title" href="@node.Path">@node.Title</a></li> 
      } 

ですオブジェクト。私は、foreachループを持っている全てのオブジェクトをCourse_Departmentsに表示し、次にCourse_Departments2に表示します。

これを行うには、複数のforeachループが最適ですか?

クエリを並べ替える必要がありますか?それをソートするリストを作成する必要がありますか?私はできるだけデータストアにヒットせず、剃刀エンジンでほとんどの作業をしたいと思っています。

ありがとうございます!

+0

基本的にコレクション1とコレクション2の違いは何ですか? –

+0

同じコレクションから取得しているのは、1つのループがプライマリプライマリに値を持ち、もう1つのループがプライマリプライマリに値を持ち、もう1つがセカンダリプロパティに値を持つという違いです。 – doats1

+0

同じことをループすることはできませんでしたが、x => x.Data.Course_Departments.value1.ToString()== DEPtxtとx => x.Data.Course_Departments.value2.ToString()== DEPtxt –

答えて

-1

コレクションから表示するアイテムのソートされたリストを取得しようとしている場合は、可能な限り、アイテムのソートとビューの外の操作を常に実行する必要があります。

+0

これは実際には解決策/答えを提供していないので、これはコメントとして投稿する必要があります。例/ソースコード。 – Aby

+0

これは部分的に2つの質問に答えるものであり、すべての回答が絶対に例/ソースコードを必要とするわけではありません。質問はコーディング・エラーではなくむしろ練習であるからです。 –

+0

では、複数のforeachループではなく、より良い方法で使用するのに役立つサンプルを提供することができます。 – Aby

関連する問題