Tìm trợ giúp viết truy vấn LINQ trên một số đối tượng. Tôi cảm thấy nếu kỹ năng LINQ của tôi là ninja hơn tôi có thể làm điều này với một số thông minh GroupBy/SelectMany (hoặc một cái gì đó ?!).Truy vấn LINQ để chia danh sách được sắp xếp thành danh sách con của các điểm tiếp giáp theo một số tiêu chí
Nói chung, câu hỏi là: đưa ra danh sách đối tượng theo thứ tự nào đó, trong đó mỗi đối tượng có Cờ, cách chia danh sách thành các danh sách phụ, trong đó mỗi danh sách con là tất cả các điểm tiếp giáp cờ được đặt?
Một cách bắt buộc để làm điều này sẽ như thế nào giả sau đây:
foreach object obj
if(obj.FlagSet)
add it to my currentsublist
else
skip to the next obj where FlagSet and start a new sublist
Vì vậy, do đầu vào như sau:
{1, Cờ}, {2, Cờ}, {3, NoFlag}, {4, Cờ}, {5, NoFlag}, {6, Cờ} ...
tôi muốn đầu ra sau đây:
Danh sách 1: {1, 2} Danh sách 2 : {4} Danh sách 3: {6}
Và tôi muốn thực hiện chức năng này qua LINQ. Bất kỳ ý tưởng?
(Tôi đã nhìn quanh đầu tiên, nhưng tất cả những câu hỏi tôi có thể thấy dường như muốn hoặc chỉ đơn giản là nhóm một danh sách hoặc chia thành các kích cỡ bằng nhau, mà đã không hữu ích cho tôi.)
D'oh! Thông thường, khoảng một giây sau khi đăng bài này, tôi phát hiện ra phương thức .TakeWhile() có vẻ rất hữu dụng! Bất kỳ câu trả lời vẫn được đánh giá cao mặc dù. – randomsequence