You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C#在for循环中输出List元素对应索引及代码报错解决方案

报错原因

  • 代码尝试将字符串类型的集合元素"mahdi"直接转换为数值类型,该字符串不满足数字格式要求,直接触发格式转换异常
  • 循环条件逻辑错误,List集合的长度应取Count属性,不可将集合元素值作为循环上限
  • 循环体内固定读取lst[0]的索引,运行后只会重复输出0,无法遍历输出所有元素的索引

修复代码

直接通过for循环的遍历索引获取对应值即可,性能最优:

List<string> lst = new List<string>() { "mahdi", "arshia", "amir" };
for (int i = 0; i < lst.Count; i++)
{
    MessageBox.Show($"元素:{lst[i]},索引:{i}");
}

如果需要用IndexOf方法实现(不推荐,重复查找性能低,且集合存在重复元素时只会返回第一个匹配项的索引),写法如下:

List<string> lst = new List<string>() { "mahdi", "arshia", "amir" };
foreach (var item in lst)
{
    int index = lst.IndexOf(item);
    MessageBox.Show($"元素:{item},索引:{index}");
}

内容的提问来源于stack exchange,提问作者mahdi noroozi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 21:54:02