【发布时间】:2013-04-15 05:19:54
【问题描述】:
我有一个 foreach 循环,我需要在其中验证元素是否在我正在迭代的集合中的最后一个。我试过的:
foreach (var character in list) // list is of type `string`
{
if (character == list.Last())
{
}
}
但在这种情况下,如果我有"la la la",if 语句将在第二个字符上执行。
问题:如何编写if 语句以便在访问序列的最后一个元素时执行?
【问题讨论】:
-
那么“la la la”是一个字符串吗?
list是什么? -
然后用繁体的for作为回答
-
你为什么要这样做?您是想对除最后一个元素之外的所有元素执行操作,还是只更新最后一个元素?
-
@AlekseiChepovoi 也许这有点XY Problem。我假设您根据逗号之类的字符拆分字符串,然后将每个子字符串传递给可以确定类型的东西?需要识别最后一项是因为需要关闭最终类型?
-
@AlekseiChepovoi 你能不能不做类似
"1,2,3,4".Split(',').Select(eachString => ToInt(eachString)).ToList()的事情?这将避免很多其他的跑腿工作。
标签: c# if-statement foreach