C# int double konvertálás mitől függ?

Címkék
C# int double konvertálás mitől függ?
2020-12-07T17:40:05+01:00
2020-12-07T18:39:27+01:00
2022-10-15T21:16:27+02:00
KompiProg
Sziasztok,

mitől függ, hogy éppen melyik függvénnyel fogja tényleg elvégezni a konvertálást a program és nem dob hibát?
t tömb korábban fel lett töltve fájlból, int.Parse-al konvertálva az elemek
tehát t-ben vannak egészek
egy későbbi számoláshoz kellett a double-be konvertálás
és csak a Convert.ToDouble-lel lett jó, double.Parse és m[i,j].ToDouble nem
de miért? 
(rákerestem, de erre nem találtam választ más topikban)
A lényeg a tizedestört, szívesen veszek más típusjavaslatot is.

double[,] t2 = new double[N,M]; for (int i = 0; i < N; i++) { for (int j = 0; j < M; j++) { t2[i, j] = Convert.ToDouble(t[i,j]); } }
Mutasd a teljes hozzászólást!
Szia. A double.Parse(string) string paramétert vár, int-et nem fogad el. Az m[i,j].ToDouble() nem tudom, hogy minek a metódusa, mert int-ben és string-ben nincs ilyen. A Convert.ToDouble(int) teljesen jó ha int-et szeretnél double típusra konvertálni, de megfelel az egyszerű típuskényszerítés is:

int i = 1; double d = (double)i;
de valójában ez egy felesleges cast, mert van equal operator overloading a double típusban int típusról, ezért elegendő az alábbi kód is:

int i = 1; double d = i;
Mutasd a teljes hozzászólást!

Címkék
Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd