Tôi đã tự dạy LINQ gần đây và áp dụng nó cho các câu đố nhỏ khác nhau. Tuy nhiên, một trong những vấn đề tôi gặp phải là LINQ-to-objects chỉ hoạt động trên các bộ sưu tập chung. Có một thủ thuật bí mật/thực hành tốt nhất để chuyển đổi một bộ sưu tập không chung chung thành một bộ sưu tập chung?Cách tốt nhất để chuyển đổi bộ sưu tập phi chung chung thành một bộ sưu tập chung là gì?
Triển khai hiện tại của tôi sao chép bộ sưu tập không chung chung vào một mảng rồi hoạt động trên đó, nhưng tôi đã tự hỏi liệu có cách nào tốt hơn không?
public static int maxSequence(string str)
{
MatchCollection matches = Regex.Matches(str, "H+|T+");
Match[] matchArr = new Match[matches.Count];
matches.CopyTo(matchArr, 0);
return matchArr
.Select(match => match.Value.Length)
.OrderByDescending(len => len)
.First();
}
Cảm ơn rất nhiều! Tôi không chắc chắn làm thế nào tôi bị mất phương pháp đó trong tài liệu, nhưng đó là chính xác những gì tôi đang tìm kiếm! Cũng xin cảm ơn mẹo sử dụng Max() – guhou