二重List
のようなdouble for loop
を書きたいと思ったら、エラーcannot be assigned to it is read only
を投げたのですが、それを修正する方法は? PositionList
は非常に複雑です)ところで、linq
を使用してList
を変更する簡単な方法はありますか?ここで double forループの値を変更するかlinqを使用
for (int i = 0; i < PositionList.Count - 1; i++)
{
for (int j = 0; j < PositionList[i].Count; j++)
{
if (Math.Abs(PositionList[i][j].DesignPosition - PositionList[i][j].Position) < T)
{
PositionList[i][j].DesignPosition = PositionList[i][j].Position;
PositionList[i + 1][j].Position = PositionList[i][j].DesignPosition;
}
}
}
は
PositionList
、
pairList
と
AddTwoList
存在しているリストのためのコードです:限りオブジェクトを更新するためにLINQを使用するように
var PositionList = pairList.GroupBy(o => o.pair.Item1.Date)
.Select(o =>
{
int Position = 0;
var SumPosition = AddTwoList.GroupBy(p => p.Key)
.Select(p => new {
DesignPosition = p.Sum(q => q.DesignPosition),
Position
}).ToList();
return SumPosition;
}).ToList();
をPosition'は読み込み専用です(ゲッタはありますが設定子はありません)。値を設定することはできません。すべてのエラーです。 Linqはこれをしません。 – HimBromBeere
'PositionList'のタイプを公開できますか? –
Linqは照会に使用されており、割り当てられていないため、ループは良好です。エラーについては...あなたが変更しようとしているプロパティの1つは読み取り専用です...だから変更してください –