Aktywne Wpisy
Asarhaddon +31
Ładnie się pobudowałem? Jakie byście dali ogrodzenie, żeby było widać bogactwo, ale, żeby plebs nie mógł się dostać do środka?
#budujzwykopem #dom
#budujzwykopem #dom
marko2 +220
#bekazgrubasow #p0lka która strona to cycki
public void readRobotNames()
{
robotPathList = System.IO.Directory.GetDirectories(robBCKPfolder);
robotList = robotPathList;
//Pobiera ostatni folder w ścieżce dostępu
for (int i = 0; i < robotList.Length;i++ )
{
robotList[i] = robotList[i].Split('\').Last();
}
}
Wszystko się rozbija o to, że po tej operacji zarówno zmienna
robotPathList
jak i zmiennarobotList
mają wartość tak jakby obie były splitowane? WTF? W czym jest błąd?GetDirectories
To Ci zwraca listę stringów.
Potrzebujesz kopie obiektu jesli chcesz mieć "czysta" wersje.
Normalnie deepcopy potrzebne, ale ze stringi sa specjalne to starzy "zwykle"
@zwykly_obywatel: @M4ks: Dzięki za naprowadzenie. Rozwiązanie wygląda tak:
public void readRobotNames()
{
robotPathList = System.IO.Directory.GetDirectories(robBCKPfolder);
Array.Resize(ref robotList, robotPathList.Length);
Array.Copy(robotPathList, 0, robotList, 0, robotPathList.Length);
for (int i = 0; i < robotList.Length;i++ )
{
robotList[i] = robotList[i].Split('\').Last();
}
}
No i czasy kopiowania tablic umarły w powszechnym programowaniu. Skup się na deklaratywnym myśleniu (co chce uzyskać) i funkcjonalnej implementacji tego. Myśl strumień przetwarzanych danych, a nie pętelki for i przepis na ciasto.
http://rextester.com/PBP67500
Moglbys uzyc klasy DIrectoryInfo razem z linq, mniej wiecej tak :
var di = new DirectoryInfo(robBCKPfolder);
var robotPathList = di.GetDirectories();
var robotList = folders.Select(x=>x.Name);