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

C#控制台程序中如何显示自定义类列表元素的索引

解决C#控制台程序中显示书籍列表索引的问题

嘿,作为C#新手能写出这样的代码已经很棒啦!关于显示书籍在列表中的整数索引,其实你手里已经有现成的变量能用——就是循环里的x呀!

问题分析

你用for循环从0开始遍历,每次循环添加的书籍正好对应列表里的第x个位置(索引从0开始),完全不需要额外新增变量或者类,直接用x就能拿到当前书籍的索引。

修改后的代码片段

把你原来的输出语句里的/*add index*/替换成x就搞定了,另外注意循环条件x <= s可能会多添加一本书(比如s是你要添加的数量,应该用x < s),我一起帮你调整了:

// 先让用户输入要添加的书籍数量
Console.WriteLine("请输入要添加的书籍数量:");
int s = Convert.ToInt32(Console.ReadLine());

List<Books> myBooks = new List<Books>();

for (int x = 0; x < s; x++) 
{
    Books newbook = new Books();
    Console.WriteLine($"\n请输入第{x+1}本书的名称、描述和价格:\n");
    newbook.name = Console.ReadLine();
    newbook.description = Console.ReadLine();
    newbook.price = Convert.ToDouble(Console.ReadLine());
    myBooks.Add(newbook);

    // 这里直接用x作为索引显示
    Console.WriteLine("{0} - {1}: {2}. 价格: {3}", x, newbook.name, newbook.description, newbook.price);
}

额外说明

  • 你提到myBooks[x]返回[命名空间.类],这是因为默认的ToString()方法会输出类型的完全限定名,不过这里我们根本不需要用到myBooks[x],直接用循环变量x就足够了。
  • 如果想让索引从1开始显示(更符合用户直觉),只需要把输出里的x改成x+1就行,比如Console.WriteLine("{0} - {1}: {2}. 价格: {3}", x+1, ...)。

内容的提问来源于stack exchange,提问作者Chris J.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 04:07:57