Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Filnamnet på den senanst skapade filen

Postades av 2009-11-26 16:29:25 - Jerker Stigsson, i forum c# (c-sharp), Tråden har 13 Kommentarer och lästs av 1187 personer

Hur gör man för att få tag på filnamnet på den senast skapade filen i en speciell folder?


Svara

Sv: Filnamnet på den senanst skapade filen

Postades av 2009-11-27 00:27:11 - André Claesson

            FileInfo latestFile = null;
            foreach (FileInfo file in new DirectoryInfo(@"c:\test").GetFiles("*.*"))
                if (latestFile == null || file.CreationTime > latestFile.CreationTime)
                    latestFile = file;

            MessageBox.Show(latestFile.Name);

/André


Svara

Sv:Filnamnet på den senanst skapade filen

Postades av 2009-11-27 11:40:44 - Jerker Stigsson

Super! Tack!


Svara

Sv: Filnamnet på den senanst skapade filen

Postades av 2009-11-27 13:47:02 - Niklas Jansson

En enklare lösning med linq:
<code:c#>
FileInfo latestFile =
(from file in new DirectoryInfo(@"c:\test").GetFiles("*.*")
orderby file.CreationTime
select file).First();
</code>

(möjligtvis "descending" eller "ascending" efter CreationTime för att vända på det, koden otestad)


Svara

Sv:Filnamnet på den senanst skapade filen

Postades av 2009-11-27 14:31:32 - Oskar Johansson

Linq is the shit! =)


Svara

Sv: Filnamnet på den senanst skapade filen

Postades av 2009-11-27 19:12:30 - André Claesson

Om man bygger för .NET 3.5 ;)


Svara

Sv:Filnamnet på den senanst skapade filen

Postades av 2009-11-27 23:12:30 - André Claesson

Niklas kod (testad):

FileInfo latestFile = 
(from file in new DirectoryInfo(@"c:\").GetFiles() orderby file.CreationTime descending select file).First();


Men om man ska linqa, kan man göra det ännu enklare:
FileInfo latestFile = 
(new DirectoryInfo(@"c:\").GetFiles().OrderByDescending(file => file.CreationTime)).First();


Svara

Sv: Filnamnet på den senanst skapade filen

Postades av 2009-11-28 00:45:10 - Niklas Jansson

Är det enklare?
Du använder ju bara själva funktionsanropen, dvs inte LINQ per se?
Koderna är ju ekvivalenta - jag skulle gissa att koden kompileras till exakt samma CIL?


Svara

Sv:Filnamnet på den senanst skapade filen

Postades av 2009-11-28 01:54:33 - André Claesson

Att jag sa att det var "enklare" var mest en liten pik till att du sa samma sak i ditt meddelande. Verkade som du menade att det var enklare bara för att det var kortare. Alltså är mitt sätt ännu enklare (kortare).
Jag tror inte många C#-programmerare tycker det är enklare att skriva det med linq än vanlig C#-kod, eftersom många aldrig stött på linq =)


Svara

Sv: Filnamnet på den senanst skapade filen

Postades av 2009-11-28 11:00:00 - Oskar Johansson

> Jag tror inte många C#-programmerare tycker det är enklare att skriva det med linq än vanlig C#-kod, eftersom många aldrig stött på linq =)

Jag har precis börjat, och jag tycker linq är enklare :)

Anonyma delegater var ju en fröjd när det kom, men nu med Expression<>, Linq, anonyma klasser och var är det kalas :)

Exempel med Linq och anonyma klasser (med Subsonic som ORM):

                var allDuplicateLeases = from l in db.Leases
                                    group l by l.UserId into la
                                    select new
                                    {
                                        UserId = la.Key,
                                        Count =  la.Count()
                                    };


(Lease har en m:1 relation till User, får här fram antal Lease som refererar till varje User så jag kan plocka bort dubbletter)


Svara

Sv: Filnamnet på den senanst skapade filen

Postades av 2009-11-28 16:32:17 - Niklas Jansson

<b>>Verkade som du menade att det var enklare bara för att det var kortare.</b>
Nej då, det jag menar är att komplexiteten (för programmeraren) är mindre - ingen loop, inget att hålla reda på.

När jag började med linq föredrog jag funktionsanropen, nu kör jag mer med "proper linq". Jag är tvingad (=)) till att arbeta i VB.NET i min vardag, och där är linqstödet något sämre.

För mig känns "proper linq" vs "funktions-linq" likadant som "properties" vs "get/set-funktioner" eller "events" vs "observer pattern".


Svara

Sv:Filnamnet på den senanst skapade filen

Postades av 2009-11-28 16:49:25 - André Claesson

> Nej då, det jag menar är att komplexiteten (för programmeraren) är mindre - ingen loop, inget att hålla reda på.

Jag håller med om att det kan vara lättare. Och även snyggare. Men bara om du kan och har använt linq tidigare. Utan manual och exempel är det nog inte enklare för den som aldrig sett syntaxen.

Det blev väldigt kort kod för att lösa problemet i alla fall. Intressant hade det varit om nån kunde presentera en ännu kortare lösning. Som en utmaning. Antingen i C# eller valfritt annat språk (med standardbibliotek).


Svara

Sv:Filnamnet på den senanst skapade filen

Postades av 2009-11-29 10:51:50 - Mattias Kallsäby

Nice! :D (Y)


Svara

Sv: Filnamnet på den senanst skapade filen

Postades av 2009-11-29 12:25:47 - André Claesson

C# (78 tkn)

var l = (new DirectoryInfo("c:/").GetFiles().OrderBy(f => f.CreationTime)).Last();


Svara

Nyligen

  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper
  • 16:36 Allt du behöver veta om keramiskt
  • 16:14 Vem anlitar man egentligen när tak
  • 16:14 Vem anlitar man egentligen när tak
  • 16:13 Vem anlitar man egentligen när tak
  • 11:52 Noen erfaring med uttak hos Mostbe
  • 11:51 Noen erfaring med uttak hos Mostbe

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 635
27 958
271 741
512
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies