Wczytywanie dwóch liczb z pliku

0

Mam w pliku dwie liczby oddzielone spacją. Jak w C# wczytywać je do dwóch zmiennych?
Znam tylko opcję wczytywania Console.ReadLine() oraz wywoływanie na tym Int.Parse(), ale tutaj się to nie udaje bo mam dwie liczby.

1

Plik:
12.5 178.123

Kodzik:

using System;
using System.Text;
using System.Linq;
using System.Collections.Generic;
using System.IO;

class Program
{
    public static void Main(string[] args)
    {
        var line = File.ReadAllText("test.txt");
        var numbers = line.Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
        foreach (var n in numbers) Console.WriteLine(n);
    }
}

A parsowanie do docelowego typu to już wedle uznania.

0

@grzesiek51114 dzięki, jednak jest problem przy dzieleniu tych liczb, podejrzałem i w pierwszym jest np. "1" a w drugim jest już "1\r\n2" i nie mogę tego dobrze wyświetlać i parsować. Jak to rozegrać?

1

Mam w pliku dwie liczby oddzielone spacją.

Teraz okazuje się, że w pliku są znaki nowej linii. Dlaczego kłamałeś?

0

@somekind Faktycznie źle to sformułowałem. Jest niewiadoma ilość linii gdzie w każdej są dwie liczby :) Jakaś porada?

1

@Bartolinho10 naprawdę jest to tak strasznie wielki problem do rozwiązania? Już przecież samo IDE podpowie kiedy wpisujesz ReadAll..., że istnieje metoda o nazwie ReadAllLines, która zwróci tablicę stringów z linijkami z pliku. Starczy przecież dobrze popatrzeć co podpowiada IDE i już miałbyś dawno rozwiązany problem.

using System;
using System.Text;
using System.Linq;
using System.Collections.Generic;
using System.IO;

class Program
{
    public static void Main(string[] args)
    {
        var lines = File.ReadAllLines("test.txt");
        foreach (var l in lines)
        {
            var numbers = l.Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
            Console.WriteLine("{0} {1}", numbers[0], numbers[1]);
        }
    }
}

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