2016-09-19 35 views
0

我想要做排序方法,但是我得到這個錯誤: IndexOutOfRangeException,行if(chars[i] > chars1[y])。量等於25排序方法c#字符串到字符

 string temp1; 
     for (int i = 0; i < amount; i++) 
     { 
      for (int y = i + 1; y < amount - 1; y++) 
      { 
       var chars = Duomenys[i].Pozicija.ToCharArray(); 
       var chars1 = Duomenys[y].Pozicija.ToCharArray(); 
       if (chars[i] > chars1[y]) 
       {............} 
+0

IndexOutOfRangeException指示i或y大於該字符串的長度。設置一個斷點並檢查我不大於字符的長度,並且y不大於字符1的長度。 – Kolichikov

+0

您正在設置y = i + 1。如果金額是25,則i的最後一個索引是24.在您的內部循環中,您設置y = 25; y <24; y ++ 也許不是你的問題,但那是我看到的一件事情。我不太確定非英語的東西在做什麼,所以我只是看着你的循環結構,tbh。 – Aaron

回答

0

使用相同的索引(iy)到陣列Duomenyschars/chars1,這似乎是非常不同的事物中識別的位置。鑑於缺乏所提供的信息,不能說出你應該做什麼。