tuyên bố 1:Tại sao các đầu ra LINQ này lại khác nhau?
IEnumerable<char> query = "Not what you might expect";
query = query.Where (c => c != 'a');
query = query.Where (c => c != 'e');
query = query.Where (c => c != 'i');
query = query.Where (c => c != 'o');
query = query.Where (c => c != 'u');
Sản lượng String.Join("", query)
: "Nt wht y mght xpct"
2 tuyên bố:
query = "Not what you might expect";
foreach (char vowel in "aeiou")
query = query.Where (c => c != vowel);
Sản lượng String.Join("", query)
: "Not what yo might expect"
Các đầu ra từ các báo cáo này là khác nhau. Có ai giải thích tại sao không?
đầu ra bạn nhận được là gì? – Default
Kết quả của việc này sẽ phụ thuộc vào phiên bản .NET bạn đang nhắm mục tiêu - phiên bản này là gì? – goric
Đây thực sự là cách mã của bạn được cấu trúc? Giá trị 'nguyên âm' cần phải được nâng lên trong ví dụ thứ hai hoặc nếu nó sẽ được thực thi như'! = 'U'' 5 lần. –