tôi đã chuyển vùng xung quanh trong các trang web khác nhau cho các kỹ thuật đúc và tôi xây dựng đoạn mã sau để cast đến từ float
để int
như hình dưới đâyTruy vấn LINQ ném một InvalidCastException?
var floatList = new float[] { 2.7f, 3.1f, 4.5f };
var intList = from int test1 in floatList
select test1;
foreach (var v in intList)
Console.Write("{0} ", v.ToString());
Nhưng trên mã ném một InvalidCastException
. Tại sao điều này? Tôi nghĩ rằng nó có nghĩa vụ phải in 3,3
và 4
.
+1 để hiểu rõ hơn về những gì thực sự xảy ra. –
thanx để trả lời Jon và yes Tôi rất thích đi truy vấn đơn giản .. và câu trả lời ở đây là gì: - 2,3,4 hoặc 3,3,4? – Neel
@Neel, tôi nghĩ bạn muốn làm tròn, chứ không phải diễn viên đúng không? Trong trường hợp đó, bạn có thể sử dụng 'var intList = floatList.Select (x => (int) Math.Round (x)); ' –