Multidesk.be » Forums » .Net » C# string tokenizer (gesloten)

Helpinformatie
Dit onderwerp bevindt zich in het archief.
Het is bijgevolg niet mogelijk er nog op te reageren.
  • Pagina
  • 1 van 1
  • RSS
  • Eerste ongelezen reactie
  • Plaats een reactie
  • Abonneer mij
  • Onderwerp sluiten
0 gasten lezen dit onderwerp.
^ Onderwerp geschreven door NightCreature op zondag 18 december 2005 om 18:42:27.
NightCreature's avatar
Multiviteit: 1196
MSc.
  • Bewerken
  • Citeren
  • Reageren
  • Verwijderen
  • Waarschuw een crewlid
Het probleem is ik krijg de tweede string niet gesplitst in meerdere substrings

CODE
  1.  
  2.  
  3. public void loadMap(string mapName)
  4.         {
  5.             map = new Map(mapName);
  6.             int linecount=0,rowcount=0;
  7.  
  8.             try
  9.             {
  10.                 StreamReader sr = new StreamReader(new FileStream(mapName, FileMode.Open));
  11.                 string line = sr.ReadLine();
  12.                 char[] delimit ={ ' ' };
  13.                 char[] subdelimit ={ ',' };
  14.                 foreach (string substring in line.Split(delimit))
  15.                 {
  16.                     switch (substring)
  17.                     {
  18.                         case "stair":
  19.                             {
  20.                                 foreach (string subsubstring in substring.Split(subdelimit)){;
  21.                                 if (subsubstring.GetLength == 3)
  22.                                 {
  23.                                     int x = int.Parse(subsubstring[1]);
  24.                                     int y = int.Parse(subsubstring[2]);
  25.                                     Stair stair = new Stair(x, y);
  26.                                     map.addField(stair);
  27. }}
  28.                                     break;
  29.                                 }
  30.                             }
  31.                         case "collapsedshaft":
  32.                             {
  33.                                
  34.                             }
  35.                     }
  36.                 }
  37.                
  38.  
  39.             }
  40.             catch (Exception ex)
  41.             {
  42.                 MessageBox.Show("Error occured while loading map" + mapName + Environment.NewLine + ex.ToString(), "Map loading error", MessageBoxButtons.OK, MessageBoxIcon.Error);
  43.             }
  44.         }
  45.  


dit is mijn test unit hier voor

CODE
  1.  
  2.  
  3. try
  4.             {
  5.  
  6.                 textBox1.Text="start ";
  7.                 StreamReader sr = new StreamReader(new FileStream("C:\Documents and Settings\NightCreature\Mijn documenten\Visual Studio 2005\Projects\Stringsplittest\Stringsplittest\test.txt",FileMode.Open));
  8.                 textBox1.Text = textBox1.Text + "sr created ";
  9.                 string line = sr.ReadLine();
  10.                 char[] delimit = new char[2];
  11.                 delimit[0] = ' ';
  12.                 char[] subdelimit ={ ',' };
  13.                 textBox1.AppendText("delimit formed ");
  14.                 foreach (string substring in line.Split(delimit))
  15.                 {
  16.                     textBox1.AppendText("Substring reached ");
  17.                     if (substring.Contains("stair"))
  18.                     {
  19.                         textBox1.AppendText("Contains ");
  20.                         foreach (string susubstring in substring.Split(delimit))
  21.                         {
  22.                             textBox1.AppendText(susubstring +"a"+ Environment.NewLine);
  23.                         }
  24.                     }
  25.                            
  26.                     switch(substring)
  27.                     {
  28.                         case "floor":
  29.                             {
  30.                                 textBox1.AppendText("floor");
  31.                                 break;
  32.                             }
  33.                    
  34.                     }
  35.                 }
  36.                 sr.Close();
  37.             }
  38.             catch { MessageBox.Show("Error"); }
  39.  


bij tweede foreash gaat het mis
I need thought completion.
Shaders, een beetje vreemd maar wel lekker (voor de ogen dan he)
2.83Ghz Q9550 HD4850 512MiB 4GiB 1333Mhz DDR3 RAM
http://paulintheuk.blogspot.com
FE Programmer @ Codemasters (Front End)
  • Pagina
  • 1 van 1
  • RSS
  • Eerste ongelezen reactie
  • Plaats een reactie
  • Abonneer mij
  • Onderwerp sluiten