Nieprawidłowy format ciągu wejściowego podczas dodawania tupla

0

Witam , mam wyjątek jak w temacie próbując :

 List<Tuple<int, int, double>> tuples = new List<Tuple<int, int, double>>();
            StreamReader sr = new StreamReader("tuples/out.txt");
            String[] line;
            while ((line = sr.ReadLine().Split(' ')) != null)
            {
                Console.WriteLine("reading tuples: " + line[0] + " " + line[1] + " " + line[2]);
                tuples.Add(new Tuple<int, int, double>(int.Parse(line[0]), int.Parse(line[1]), Double.Parse(line[2])));
            }

Jeszcze pierwsze pare linijek z mojego out.txt

2.0 6399.0 0.04384857974595515
2.0 7374.0 0.05300396349398647
2.0 7771.0 0.03297604516468461
2.0 12938.0 0.032607774730895545
2.0 25579.0 0.04558200169196064

zależy mi na tym, żeby w liście pierwsze 2 elementy każdego wiersza były typu int, z góry wielkie dzięki za pomoc

dodanie znacznika <code> - fp

1

Zamiast:

tuples.Add(new Tuple<int, int, double>(int.Parse(line[0]), int.Parse(line[1]), Double.Parse(line[2])));

Potrzebujesz raczej:

int x = (int)double.Parse(line[0], CultureInfo.InvariantCulture);
int y = (int)double.Parse(line[1], CultureInfo.InvariantCulture);
double z = double.Parse(line[2], CultureInfo.InvariantCulture);

tuples.Add(new Tuple<int, int, double>(x, y, z));
0

działa, dzięki!

1 użytkowników online, w tym zalogowanych: 0, gości: 1