Entwickler-Ecke

C# - Die Sprache - Dictionary-> in jagged Arrays


---=xXx=--- - Do 15.05.08 14:34
Titel: Dictionary-> in jagged Arrays
Wie kann man das ganze von Dictionary in ein jagged Array schreiben?

such schon die ganze zeit nach lösungen aber irgendwie klappt nix..

wäre echt nett von euch wenn ihr euch das mal Anschauen würdet, und dann den Quelltext dementsprechend verändern würdet.

Danke im voraus Florian

was es tun soll:

versuche grerade eine Textdatei in spalten und zeilen zu unterteilen.
eine Spalte wird nach jedem ";" erstellt und eine zeile nach jedem Zeilenumbruch. Aber irgendwie funktioniert das nicht. deshalb brauche das ganze mit jagged arrays meine Textdatei z.B:

Textdatei:
333;23421312;6575457;234214;blubb;
5464;wertwert;57554;676585;asdf;
quack;sdafasdf;uztutru;rtutritrizti;


C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
using System;
using System.Collections.Generic;
using System.Text;
using System.IO;

namespace Protokoll_Logs_Scanner
{
    class Program
    {
        static void Main(string[] args)
        {  

            int spalten=0;
            int zeilen=0;

         


           string[,] werte = new string[20,20];
           char[] splitter = { ';' };
            
            
            
            string txt = null;
          
            //args[0];  //dateiname
            //args[1];  //Datenbankname

            System.IO.StreamReader SR;
            SR = new System.IO.StreamReader(args[0]);



            Dictionary<int, Dictionary<intstring>> myFinder = new Dictionary<int, Dictionary<intstring>>();

 
            string[] zeilen = txt.Split('\n');

            for (int i = 0; i < zeilen.Length; i++)
            {
                    string[] spalten = zeilen[i].Split(';');

                     Dictionary<intstring> dic = new Dictionary<intstring>();

                       for (int j = 0; j < spalten.Length; j++)
                            {
                          dic.Add(j, spalten[j]);
                            }

                myFinder.Add(i, dic);
            }

            Console.WriteLine("Der Wert in der ersten Zeile und zweiten Spalte beträgt {0}", myFinder[0][1]); 



              //for(int d=0;d<werte[d,spalten].Length;d++)
              //  {
              //      for (int u = 0;u< werte[d,u].Length; u++)
              //      {

              //          Console.WriteLine(werte[d,u]);
              //      }
              //   }
                
            
        
        }



        
    }
}


JüTho - Do 15.05.08 14:55

Empfehlung: Vor einer Antwort sollte zunächst die Diskussion unter Split() bei zweidimensionales Arry verwenden [http://www.mycsharp.de/wbb2/thread.php?threadid=55281] durchgelesen werden, um zu sehen, wieweit die dortigen Vorschläge inzwischen berücksichtigt wurden. Ich habe mich mit dem Thema nicht näher beschäftigt.

Ich vermute aber, dass das geschachtelte Dictionary<int, Dictionary<int, string>> wenig bringt und zu Problemen führt.

Jürgen