編譯錯誤: 「這個名字‘B’不會在目前情況下存在」編譯錯誤使用LINQ排序代碼使用列表<T>
代碼:
List<PositionValues> list = new List<PositionValues>();
PositionValues item1 = new PositionValues();
item1.Position = 2;
item1.Value = 44;
list.Add(item1);
PositionValues item2 = new PositionValues();
item2.Position = 1;
item2.Value = 33;
list.Add(item2);
PositionValues item3 = new PositionValues();
item3.Position = 1;
item3.Value = 22;
list.Add(item3);
var resultList = from b in list
group b by b.Position into g
orderby b.Value select b;
上面的代碼依賴於這個結構:
public struct PositionValues
{
/// <summary>
/// The position.
/// </summary>
public int Position;
/// <summary>
/// The position.
/// </summary>
public double Value;
}
我希望能得到以下排序順序:
resultList[0] {1, 22}
resultList[1] {1, 33}
resultList[2] {2, 44}
「位置」在括號中第一個,「值」在第二個。
一旦你編組,你有* *組,不個別項目 - 所以通過單個項目值排序組沒有任何意義。目前還不清楚你想要達到什麼(也不知道你爲什麼使用可變結構......) –
喬恩 - 感謝你的提問。我的首要任務是獲得指定的物品。 – Buck
你的意思是在每組中嗎?如果您有{2,35}的價值,該怎麼辦? –