У меня есть аналогичный вопрос, чем этот пост: C# string splitting, но он немного старый и использует Regex в качестве решения.Разделите строку и установите значение по умолчанию, если разделитель не найден WITH LINQ
Так вот мой вход (массив строки)
foo.xml
bar.png
pdf
То, что я хочу, чтобы получить расширение файлов без точки и установить «неизвестно», когда нет точек не найдена.
xml
png
unknown
То, что я пытался, что не работал
_filesName.Select(a => a.Split('.').Select(b => string.IsNullOrEmpty(b) ? "unknown":b).Last());
возвращение
xml
png
pdf // WRONG!! Why its not set to unknown?
Можно ли делать то, что я хочу с помощью LINQ?
Как выглядит объект '_filesName'? Вы можете использовать [Path.GetExtension] (http://msdn.microsoft.com/en-us/library/system.io.path.getextension.aspx) – DGibbs
filesName - это строка [], она была извлечена из файла xml – Gui