我正在从List的最后一个元素的末尾修剪一个字符,即使它有效,我觉得这不是最好的方法。
for (int i = lstTopicsDisplay.Count - 1; i >= 0; i--)
{
if (i == lstTopicsDisplay.Count-1)
{
string lastValue = lstTopicsDisplay[i].TrimEnd(';');
lstTopicsDisplay[i] = lastValue;
}
}
有没有更好的方法,例如使用Lambda表达式来获得相同的结果?
答案 0 :(得分:12)
int lastPos = lstTopicsDisplay.Count - 1;
lstTopicsDisplay[lastPos] = lstTopicsDisplay[lastPos].TrimEnd(';')
答案 1 :(得分:2)
lstTopicsDisplay.Last().TrimEnd(';')
答案 2 :(得分:2)
由于您只是更改列表中的一个项目,因此不需要循环。
只计算要更改的项目的索引,并使用其余代码保持不变:
int i = lstTopicsDisplay.Count - 1;
string lastValue = lstTopicsDisplay[i].TrimEnd(';');
lstTopicsDisplay[i] = lastValue;
或者简单地说:
lstTopicsDisplay[lstTopicsDisplay.Count - 1] = lstTopicsDisplay[lstTopicsDisplay.Count - 1].TrimEnd(';');
答案 3 :(得分:1)
试试这个:
string lastValue = lstTopicsDisplay.[lstTopicsDisplay.Count - 1].TrimEnd(';');