-1
if (Session["GrupId"] != null)
{
    var result= context.User.Where(s => s.DepartmentId == GrupId).Select(s => s.Id).ToList();

    foreach (var item in result)
    {
       result.Add(item);
    }               
}

項目を書いたら foreach のように見えません こんな感じで書きたいです

var something = context.ResultWhere(s=>s.UserId==item) しかし、アイテムがないようですなぜですか?

私はあなたの助けを待っています

4

2 に答える 2

5

君は:

foreach (var item in result)
{
   result.Add(item);
}               

List<>aを繰り返し処理している間はa を変更できません。基になるコレクションが変更されたことを示す例外が列挙子から発生します。

于 2013-07-06T19:53:40.790 に答える
0

私はJeppeの言葉を私の言葉にもしています。同じアイテムを正確な順序で追加することで何を達成しようとしているのかわかりませんが、本当に必要な場合は、リスト内のアイテムのタイプがわかっている場合は、例を投稿します必要なことを行いますが、リストが既にある場合は、それらを再度同じ順序で追加する理由がわからない場合:

            int i = lst.Count - 1;
            foreach (YourClass item in lst.Reverse<YourClass>())
            {
                lst.Insert(i, item);
                lst.RemoveAt(i);
                i--;
            }

            //if you dont know the type make an array

            int i = countries.Count - 1;
            foreach (var item in lst.ToArray())
            {
               lst.Insert(i, item);
               lst.RemoveAt(i);
               i--;
            }

これが機能するのは、新しいリストを逆の順序で取得する reverse を呼び出しており、内部でそれらを適切な場所に追加して重複を削除しているためです。

于 2013-07-06T21:27:20.270 に答える