c# - 我需要列表中最后一项的索引,如何?
问题描述
所以,我一直在寻找一段时间,但并没有真正找到任何结果。例如我有这个列表:
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])
在我看来,为什么这些不起作用是合乎逻辑的,但理解问题并解决它仍然是两件不同的事情。
解决方案
加入之前的所有内容,然后.Last()
与以下内容连接" and " + Last()
:
string result = intList.Count <= 1 ?
string.Join(", ", intList) :
string.Join(", ", intList.Take(intList.Count - 1)) + " and " + intList.Last();
推荐阅读
- c# - TPL 任务继续:任务在取消时处于故障状态而不是已取消状态
- doxygen - 个性化标题:方形 + 中心 + 大号
- javascript - 如何从 MongoDB 中正确捕获异常?
- postgresql - 无法在 postgres 中删除 db
- react-native - Defining default link handling behaviour in app
- kubernetes - 从 Red Hat Registry 拉取镜像的权限被拒绝
- ios - 使用 NSURLConnection 目标 c 连接到服务器
- cmake - 如何使用 qtcreator 通过 ninja 构建系统远程部署应用程序
- php - 字符串过滤器在 API 平台中不起作用
- javascript - 滚动时如何使元素粘在顶部