tôi sẽ mở rộng một chút về câu trả lời và hiển thị của Tim một cách để thực hiện thêm một vài thứ trong các truy vấn LINQ của bạn.
Bạn có thể mở rộng logic trong mệnh đề Where
để thực hiện một số quy trình bổ sung, điều này có thể làm cho mã của bạn dễ đọc hơn một chút. Đây sẽ là tốt cho một cái gì đó nhỏ:
var novas = linhas.Where(l =>
{
var parts = l.Split(':');
return parts.Length > 1 ? parts[1] == "def" : false;
});
Nếu bạn cần nhiều báo cáo, bạn có thể quấn cơ thể của khoản của bạn trong vòng curly braces, nhưng sau đó bạn cần từ khóa return
.
Ngoài ra, nếu bạn có nhiều thông tin sẽ làm cho nội dung nào đó giống như không đọc được, bạn cũng có thể sử dụng một phương pháp riêng trong truy vấn của mình.
public void FindTheStringImLookingFor()
{
var linhas = new List<string>();
linhas.Add("123;abc");
linhas.Add("456;def");
linhas.Add("789;ghi");
linhas.Add("chocolate");
var words = linhas.Where(GetTheStringIWant);
}
private bool GetTheStringIWant(string s)
{
var parts = s.Split(':');
// Do a lot of other operations that take a few lines.
return parts.Length > 1 ? parts[1] == "def" : false;
}
Lưu ý bạn không cần 'ToString' trong đó. – juharr
Bạn nhận được ngoại lệ vì itme cuối cùng trong danh sách không chứa ';' ('linhas.Add (" chocolate ");') – Rahul
Câu hỏi này không liên quan gì đến LINQ. Bạn đã làm gì để điều tra vấn đề này? Để giúp bạn bắt đầu: Thực hiện "sô cô la" .Split (';') [1] '. – usr