【问题标题】:How can I grab the last element of a List of string arrays?如何获取字符串数组列表的最后一个元素?
【发布时间】:2014-03-14 09:54:28
【问题描述】:

lstArray 是字符串数组的列表:

List<string[]> lstArray = new List<string[]>();

显然它的大小各不相同。在下面的示例中,它有两个元素;第一个有 4 个,第二个有 5 个项目。 最后一项总是指表名(tblPerson、tblCompany 等)。这就是我想要收集的。 有时可能是第 4 项、第 5 项,甚至第 8 项。我将有另一个用这些表名填充的字符串列表。

lstArray[0]:

lstArray1:

【问题讨论】:

    标签: c# asp.net list


    【解决方案1】:

    如果它总是最后一个元素,你可以使用这个:

    var lastElements = lstArray.Select(e => e.Last());
    

    如果某些数组的元素为零,您也可以使用:

    var lastElements = lstArray.Select(e => e.LastOrDefault());
    

    在这种情况下,您最终可能会得到一些 null 条目。避免这种情况的另一种方法可能是:

    var lastElements = lstArray.Select(e => e.Count == 0 ? string.Empty : e.Last());
    

    对于空数组,这将为您提供string.Empty 而不是null,这对于使用代码来说不太容易出错。

    【讨论】:

    • 您可以包含一个 .Where 来过滤空数组,但除此之外,您的答案会得到我的投票。
    • @David 工作。感谢您提供更多信息。
    【解决方案2】:

    以下将返回lstArray上的最后一个元素:

    var lastElement = lstArray.Last();
    

    但是你想要的是lstArray中包含的字符串数组的所有最后一个元素的集合,你可以这样获得:

    var lastElements = lstArray.Select(i => i.Last())
    

    【讨论】:

    • 这将提供列表中的最后一个数组,而不是每个数组中最后一个元素的列表。
    【解决方案3】:

    你的意思是这样的吗?:

    List<string[]> lstArray = new List<string[]>();
    var result = lstArray.Select(a=>a.Last())
    

    【讨论】:

      【解决方案4】:
      var lastElement = lstArray.Last().Last() //this will give the last element of last array
      
      var lastElement = lstArray.Select(sublist => sublist.Last()); //this will give last element of each array in the list
      

      【讨论】:

        【解决方案5】:

        获取列表最后一项

        int len = strList.length();
        String strArr[] = strList.get(len);
        

        获取字符串数组的最后一个元素,即最后一个字符串

        String str = strArr[strArr.size()-1]
        

        【讨论】:

          猜你喜欢
          • 2010-10-13
          • 2015-07-09
          • 1970-01-01
          • 2010-10-30
          • 2022-11-15
          • 1970-01-01
          • 2022-06-28
          • 2018-12-26
          • 2016-09-20
          相关资源
          最近更新 更多