簡體   English   中英

如何使用Linq返回列值已更改的行的列表或可枚舉的行

[英]How can I return a list or enumerable of rows where column value has changed with Linq

我有一個數據表:

Position Price
1        1.2
1        1.3
2        1.25
1        1.4
1        1.3
2        1.35

我想返回位置已更改的所有行:

Position Price
2        1.25
1        1.4
2        1.35

用Linq可以做到這一點嗎?

我試過了:

var trades = Enumerable.Range(1, Data.Rows.Count - 1)
              .Where(i => !Data.Rows[i].Field<string>("Position").Equals(Data.Rows[i - 1].Field<string>("Position")));

但這會返回索引列表,而不是行。

使用LINQ:

var positionChanges = table.AsEnumerable()
    .Skip(1)
    .Where((row, index) => table.Rows[index - 1].Field<string>(0) != row.Field<string>(0));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM