Как получить последний созданный подкаталог с помощью linq?

Я очень новичок в Linq. Но я пытаюсь написать функцию, чтобы получить самый последний созданный подкаталог, используя Directory.GetDirectories (rootPath) .Where (...) . Возможно ли и как продолжить?

1
nl ja de

2 ответы

var info = new DirectoryInfo(rootPath);    
var latestDirectory = info.GetDirectories()
                          .OrderByDescending(d => d.CreationTime)
                          .FirstOrDefault();

Вы можете легко изменить имя свойства класса DirectoryInfo , которое вы хотите отсортировать.

DirectoryInfo.GetDirectories Method returns array of System.IO.DirectoryInfo, so you can easily order that directories by CreationTime and return the first one.

Решение VB.NET:

Dim info As New DirectoryInfo(rootPath)
Dim latestDirectory As DirectoryInfo = info.GetDirectories() _
                                           .OrderByDescending(Function(d) d.CreationTime) _
                                           .FirstOrDefault()
2
добавлено
Нет! GetDirectories возвращает массив DirectoryInfo: msdn.microsoft.com/en-us/library/ f3e2f6e5.aspx
добавлено автор MarcinJuraszek, источник
Хорошо, мой плохой ... Обновил ответ. Благодаря!
добавлено автор MarcinJuraszek, источник
Какой язык вы используете? Это C# или VB.NET? Я отправлю решение VB.NET через секунду.
добавлено автор MarcinJuraszek, источник
Это переменная, используемая в выражении Lambda - вам не нужно объявлять ее нигде.
добавлено автор MarcinJuraszek, источник
Итак, последний вопрос: какую версию платформы .NET вы используете?
добавлено автор MarcinJuraszek, источник
Поэтому попробуйте второе решение: для VB.NET.
добавлено автор MarcinJuraszek, источник
GetDirectories возвращает строку, это не работает.
добавлено автор Kyle C, источник
Неверно, DirectoryInfo.GetDirectories делает.
добавлено автор Kyle C, источник
Почему, когда я попытался использовать =>, он всегда автоматически изменяется на> =? Кроме того, я не мог использовать var. Я изменил его на строку. Кстати, я использую vb.net.
добавлено автор GLP, источник
также, что такое определение для d?
добавлено автор GLP, источник
Я не мог использовать ни var, ни d (без определения).
добавлено автор GLP, источник
4.0 с MS VB 2010
добавлено автор GLP, источник
добавлено автор GLP, источник
Понял. Огромное спасибо. Работала отлично.
добавлено автор GLP, источник

Чтобы определить время создания, вам нужно получить конкретную информацию DirectoryInfo. Попробуй это.

DirectoryInfo di = new DirectoryInfo(rootPath);
var directory = di.GetDirectories()
                  .OrderByDescending(d => d.CreationTime)
                  .FirstOrDefault();
0
добавлено
DotNetRuChat
DotNetRuChat
2 992 участник(ов)

Чат русскоязычного .NET сообщества http://dotnet.ru/ Вам могут быть интересны: @dotnetchat, @cilchat, @fsharp_chat, @pro_net, @xamarin_russia, @microsoftstackjobs, @uwp_ru Флуд в @dotnettalks

Microsoft Stack Jobs
Microsoft Stack Jobs
1 788 участник(ов)

Work & freelance only Microsoft Stack. Feed https://t.me/Microsoftstackjobsfeed Чат про F#: @Fsharp_chat Чат про C#: @CSharpChat Чат про Xamarin: @xamarin_russia Чат общения:@dotnettalks

pro.net
pro.net
710 участник(ов)

Обсуждение .NET Framework и всего, что с ним связано. Правила: не флудить не по теме, уважать ваших коллег и никакой рекламы (объявления о вакансиях можно согласовать с @AlexFails). Флудилка: @dotnettalks Участник @proDOT

Microsoft Developer Community Chat
Microsoft Developer Community Chat
584 участник(ов)

Чат для разработчиков и системных администраторов Microsoft Developer Community. __________ Новостной канал: @msdevru __________ Баним за: оскорбления, мат, рекламу, флуд, флейм, спам, NSFW контент, а также большое количество оффтоп тем. @banofbot

.NET Talks: Force Push Masters
.NET Talks: Force Push Masters
490 участник(ов)

Свободный чат .NET разработчиков. Правила: t.me/dotnettalks/56823 Вам могут быть интересны: @dotnetruchat, @dotnetchat, @cilchat, @fsharp_chat, @pro_net, @dotnetgroup, @xamarin_russia, @microsoftstackjobs, @uwp_ru http://combot.org/chat/-1001128250813

.NET Chat Убежище
.NET Chat Убежище
246 участник(ов)

Чат .NET разработчиков под эгидой MSK/SPB .NET Community Group Вам могут быть интересны: @fsharp_chat, @dotnetruchat, @cilchat, @xamarin_russia, @microsoftstackjobs, @dotnetgroup Флуд в @dotnettalks

.NET CIL Chat
.NET CIL Chat
54 участник(ов)

.NET CIL (aka IL aka MSIL)