Wpis z mikrobloga

#programowanie #naukaprogramowania #csharp #linq

elo, stworzyłem program do podkładania wartości pod parametry którego pokazuje output w linq z visual studio, z tym że mam problem bo program nie radzi sobie z podkładaniem powyżej 9 parametru bo zamiast podłożyć 10 parametr to podkłada pierwszy i dopisuje kolejną cyfrę. Ktoś coś?
link do kodu
Przykład
ugotowany_kamien - #programowanie #naukaprogramowania #csharp #linq

elo, stworzyłe...

źródło: comment_V06of6kkONWvcyUnHrZyIerpjRA5mtMv.jpg

Pobierz
  • 15
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@ugotowany_kamien: zmień logikę podmieniania - masz ilość parametrów to np. iteruj od końca, albo paramtery zamknij w :p1: i podmieniaj ":p"+i+":".
W tym momencie najpierw podmieniasz string ":p1", a :p11 to nic innego jak ":p1" + "1"
  • Odpowiedz
@ugotowany_kamien: najszybciej to tę linie:
aStringBuilder.Replace(":p" + i , " " + splittedText[i]);  
zmienić na:
aStringBuilder.Replace(":p" + i + ":" , " " + splittedText[i]);  

i parametry podawać:
:p1:, :p2:,..., :p11:, :p12:
  • Odpowiedz
@ugotowany_kamien: Problem polega na tym, że dla i=1 zmieniane jest zarówno p1 jak i p10 i p11 z tym, że z p11 jest zmieniana tylko część p1. Możesz iterowac od końca lub użyć Regex.Replace
  • Odpowiedz