Har en funktion som ska separera sökväg och filnamn vilket är bästa/enklaste sättet att göra det? om du ursäktar C# koden Enklast möjliga var det. Det snyggaste sättet är väl det här: Nja, det är väl kanske inte det snyggaste. Varför skall du instansiera ett FileInfoobjekt, det tar ju bara en massa onödig tid i anspråk. visst, koden blir lättläst men kanske inte så bra... Visst det kanske tar någon millisekund längre tid och kostar några byte i minne, men varför uppfinna hjulet på nytt? Tänker man hela tiden "äh, en millisekund hit eller dit" så slutar det med att man har en appliaktion med en massa "äh, en millisekund hit eller dit". Slutresultat blir att kunden tänker: "äh, vi köper det system som går snabbare coh flyter bättre...". Bara för att något är enkelt betyder det itne att det är bra att göra så. Hittade detta. Eh det tar ju knappast millisekunder att insantiera sådana små objekt. Om ni inte sitter på en IBM PC 386 från 1988 då.. Vi pratar knappt microsekunder eller kanske mer relevant att prata klockcykler här. Så det lär knappast bli en flaskhals i något system jag kan komma att tänka på. De sista exemplet är snyggast och bör vara mkt snabbt också. Det finns ingen anledning att skita ner koden med substring och lastindexof när det finns så bra lösningar.Separera sträng
Tex jag skickar in "C:\program\test\fil.txt" och vill endast ha ut "fil.txt" som retur.
Tack på förhand
MickeSv: Separera sträng
Dim temp As String = "C:\program\test\fil.txt"
Dim Where As Integer
Where = temp.LastIndexOf("\") ' Tar fram positionen där det sista \ befinner sig
Console.WriteLine(temp.Substring(Where + 1)) ' Plusar på med ett så man får fil.txt istället för \fil.txt
Console.Read()
Sv: Separera sträng
string fullPathname = "C:\\program\\test\\fil.txt";
string filename = fullPathname.Substring(fullPathname.LastIndexOf("\\") + 1);
annars kommer nog någon att föreslå ett regexputtryck snart.
Edit: rackarns, någon svarade medans jag skrev mitt svar... ;-) Sv: Separera sträng
Dim path As String = "C:\program\test\fil.txt"
Dim fi As FileInfo = New FileInfo(path)
Dim fileName As String = fi.Name
http://msdn2.microsoft.com/en-us/library/system.io.fileinfo.name.aspx
Sv:Separera sträng
Sv: Separera sträng
Sv:Separera sträng
Separera sträng
System.IO.Path.GetFileName("C:\program\test\fil.txt")
Måste ju bara vara det enklaste sättet?
MickeSv: Separera sträng