Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

Καλησπέρα παιδία!

Λοιπόν, η δουλειά που θέλω να γίνει είναι να διαβάσω τα δεδομένα από ένα αρχείο και να τα περάσω σε ένα δισδιάστατο πίνακα..
 

Ο κώδικας είναι:

                        int i = 0;
			int j = 0;
			string[,] arr = new string[100,3];

			foreach (string line in File.ReadAllLines("file.txt"))
			{
				string[] parts = line.Split('\t');
				foreach (string part in parts)
				{
					if (j > 2)
					{
						j = 0;
						i++;
						arr[i,j] = part;
					} 
					else 
					{
						arr[i,j] = part;
						j++;
					}
				}
			}

Τα δεδομένα στο αρχείο είναι:
 

1,2	5	100
2,5	2	50
4,3	2	30
6,2	5	5
2,5	2	50
1,3	2	30
5,2	5	150
2,5	2	52
1,3	2	30

 και το αποτέλεσμα που παίρνω από στο τύπομα είναι:
 

1,2
5
100
2
50
4,2
2
30
6,2
5
5

Δηλαδή μετά το 100 περνάει την επόμενη μεταβλητή και πάει στο πιο πέρα.. μετά συνεχίζει κανονικά και ξανά το χάνει…
ξέρει κανείς τι παίζει?

Ευχαριστώ εκ των πρότερων!

Δημοσ.

Βασικά άκυρο, έχεις δίκιο...

έτσι την δουλειά του την κάνει!
Δεν μου πέρασε καθόλου από το μυαλό...
Ευχαριστώ!

                        foreach (string line in File.ReadAllLines("file.txt"))
			{
				string[] parts = line.Split('\t');
				foreach (string part in parts)
				{
						arr[i,j] = part;
						j++;
				}
				j = 0;
				i++;
			}
Δημοσ.

https://msdn.microsoft.com/en-us/library/bb397687.aspx

Διαβασε το.


Και παμε.
File.ReadAllLines μας επιστρεφει ενα array που εχει lines.

Σε αυτη καλουμε την Select η οποια επιλεγει αυτο που θελουμε.

  class Program
    {
        static void Main(string[] args)
        {
            var whateva = File
                .ReadAllLines("file.txt")
                .Select(x => ???);
            
        }
    }

Τι θελουμε να επιλεξουμε απο καθε γραμμη; Α, ναι, αυτα που ειναι αναμεσα απο tab

 class Program
    {
        static void Main(string[] args)
        {
            var whateva = File
                .ReadAllLines("file.txt")
                .Select(x => x.Split('\t'));
            
        }
    }

Ναι αλλα θελω να παρω μονο τα δυο πρωτα

 static void Main(string[] args)
        {
            var whateva = File
                .ReadAllLines("file.txt")
                .Select(x => x.Split('\t').Take(2));
            
        }
  • Like 1
  • 2 εβδομάδες αργότερα...

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...