首页 > 解决方案 > 我需要列表中最后一项的索引,如何?

问题描述

所以,我一直在寻找一段时间,但并没有真正找到任何结果。例如我有这个列表: List<int> intList = new List<int>{1, 2, 3, 4, 1} 我想在我的控制台中输出“数字:1、2、3、4 和 1”,这并不难。但我希望能够使用用户输入的数字,并且对于最后一个数字,它必须在数字之前有“和”而不是逗号。到目前为止我尝试过的事情导致了任何具有相同值的项目也有“和”而不是逗号的问题。

我在 for 循环中的 if 语句中使用的示例导致任何与最后一个相同的值也具有“and”: if (intList[i] == intList.Last()) if(intList[i] == intList[intList.Count - 1])

在我看来,为什么这些不起作用是合乎逻辑的,但理解问题并解决它仍然是两件不同的事情。

标签: c#

解决方案


加入之前的所有内容,然后.Last()与以下内容连接" and " + Last()

 string result = intList.Count <= 1 ?
       string.Join(", ", intList) :
       string.Join(", ", intList.Take(intList.Count - 1)) + " and " + intList.Last(); 

推荐阅读