获取一个/列表/数组的最后一个元素

获取一个/列表/数组的最后一个元素

问题描述:

有时我需要获取数组中的最后一个元素。虽然我没有发现任何方式做到这一点比这更好的方式:获取一个/列表/数组的最后一个元素

_Path.Split('\\')[_Path.Split('\\').Length - 1] 

是否有可能更简单的方法来做到这一点不止这一个?在这种情况下,理解起来相当不错,但如果时间变长了,现在不再了。

+1

使用Linq。 '_Path.Split( '\\')。最后()'。重复的问题。请在使用System.Linq询问新问题 –

+1

之前进行搜索; var last = _Path.Split('\\')。Last(); – Maarten

有没有比这更简单的方法来做到这一点?

是,使用Enumerable.Last

var last = _Path.Split('\\').Last(); 

如果你不知道Path.Split将产生的任何项目,使用Enumerable.LastOrDefault和核对空。

var last = _Path.Split('\\').LastOrDefault(); 
if (last != null) 
{ 
    // Do stuff. 
} 
+0

在空数组的情况下,'LastOrDefault()'也是如此。 –

+0

@ M.kazem是的,我只是在编辑。 –

使用LastLastOrDefault扩展方法:

_Path.Split('\\').Last() 
  • Last将抛出一个异常,如果没有元素
  • LastOrDefault将返回默认值 - default(T) - 这是null为参考类型

您需要添加:

using System.Linq; 
+0

它总是让我有点害怕,因为IEnumerable的东西,但如果它的工作原理是这样的,那么它就没问题^^ –

+0

@DanielFrühauf它非常好。它为什么吓到你? LINQ to objects是一个非常强大的工具集,值得掌握它。 –

使用LINQ的方法Last()

_Path.Split('\\').Last(); 

using System.Linq;是必需的,不要忘记。