byłem roaming w różnych miejscach do odlewania techniki i skonstruowane poniższy kod, żeby rzucić się z float
do int
jak pokazano poniżejZapytanie LINQ zgłasza wyjątek 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());
Ale powyższy kod wygeneruje InvalidCastException
. Dlaczego to? Myślałem, że ma wydrukować 3,3
i 4
.
+1 za bycie bardzo wnikliwym w to, co się dzieje. –
thanx za udzielenie odpowiedzi Jonowi i tak, chciałbym przejść do prostego zapytania .. i jaka powinna być odpowiedź tutaj: - 2,3,4 lub 3,3,4? – Neel
@Neel, myślę, że chcesz zaokrąglić, zamiast rzucać w prawo? W takim przypadku możesz użyć 'var intList = floatList.Select (x => (int) Math.Round (x));' –