Tjena Man ska precis som det är meningen använda dubbla \ för att tala om att det är en \ man menar. Gäller för hela språket c# och då du ska ange paths. Men det här är ju inargument... kompilatorn ska sköta hur det tolkas, och det borde inte tolkas på det sättet. Det lättaste är ju att göra så här: Niklas har rätt... detta handlar inte om syntaxen inne i själva språket utan om hur inparametrarna till Main funktionen ser ut... Det funkar att skicka det andra argumentet så här... Det är det väl inte speciellt rimligt att kräva av en användare?Escape-characters i Commandline arguments?!?
Upptäckte en lite skum grej idag. Har en vanlig Console applikation som jag brukar starta från en bat-fil. Mitt program tar ett antal parametrar in men på nåt jädra sätt så anser C# att det kommer in Escape-characters
Tillåt mig förklara:
MinExe.exe -dir "C:\Olle Bull\Kalle" -debug
Detta fungerar alldeles utmärkt. Tre argument kommer in...
MinExe.exe -dir "C:\Olle Bull\Kalle\" -debug
Detta fungerar mindre bra... \" tolkas här som "Escapat" " dvs två argument kommer in
dir och C:\Olle Bull\Kalle" -debug
Hur fasiken skall man ta sig ur såna här grejer?
Är detta fixat i 1.1?
Just nu är min lösning att köra med dubbla "" (och rensa i koden) eller att köra directoriet sist.
**********EDIT************
Nåja, har löst detta genom att själv parsa Commandlinen genom Environment.CommandLine, så att man har full kollSv: Escape-characters i Commandline arguments?!?
Jag menar att du bör skriva:
<code>
String S = "c:\\temp";
</code>
Vet dock inte om det är ändrat i 1.1.
//Mikael.NETSv: Escape-characters i Commandline arguments?!?
Sv: Escape-characters i Commandline arguments?!?
<code>
string s = @"strängen med otäcka escapetecken";
</code>
/AndréSv: Escape-characters i Commandline arguments?!?
Nåja, jag har löst just nu genom att själv parsa Environment.CommandLine men jag tycker ju att det hela är lite skumt...Sv: Escape-characters i Commandline arguments?!?
"C:\Olle Bull\Kalle\\"Sv: Escape-characters i Commandline arguments?!?