首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >List在main中调用时不打印信息

List在main中调用时不打印信息
EN

Stack Overflow用户
提问于 2015-11-03 20:39:03
回答 5查看 359关注 0票数 0

我有一份名单叫

代码语言:javascript
运行
复制
private List<Car> Cars; //Car is another class

我想从List< Car > Cars中的信息创建一个新列表,该列表使用参数来指定要从汽车列表中提取的年份范围,然后将其放入一个名为

代码语言:javascript
运行
复制
private List<Car> getCars;

代码如下。请注意,这只是一个项目的一部分,所以不是所有的代码都提供。

代码语言:javascript
运行
复制
    private List<Car> Cars;
    private List<Car> getCars;

    public List<Car> GetCars(int fromYear, int toYear) 
    {
        getCars = new List<Car> { };
            foreach (Car c in Cars)
            if (c.Year >= fromYear && c.Year <= toYear)
                getCars.Add(c);
        return getCars;
    }

我遇到的问题是,虽然在我运行代码时没有出现错误,但新的列表并没有打印出来,而是打印出来了

System.Collection.Generic.List‘1Lab__2 1Lab

在如何让它打印出列表的对象而不是上面的内容方面,任何帮助都是非常有用的。最后,我的讲师明确表示,他希望该方法的格式如下

代码语言:javascript
运行
复制
public List<Car> GetPrices(int year)
{
}
EN

回答 5

Stack Overflow用户

发布于 2015-11-03 20:45:07

您看到的是直接在列表上调用print时得到的输出。它不会自动打印内容,您必须自己打印每个项目。

票数 2
EN

Stack Overflow用户

发布于 2015-11-03 20:58:16

您肯定是直接在列表上调用ToString()方法,但它只打印其类型:

Object.ToString方法的

默认实现返回对象类型的完全限定名。- MSDN

因此,您必须遍历列表中的项并打印其详细信息。示例:

代码语言:javascript
运行
复制
foreach (Car c in Cars) {
     Console.WriteLine(c.Name); //I do not know what properties you have in the class Car. Change accordingly.
}

或者,您可以使用String.Join()

代码语言:javascript
运行
复制
String.Join(Environment.NewLine, Cars); //You can change 'Environment.NewLine' to ", " if you want a comma instead of a new line.
票数 0
EN

Stack Overflow用户

发布于 2015-11-03 20:58:44

试着这样做:

代码语言:javascript
运行
复制
public Class Car
{   // guessing here
    public string Make { get; set; }
    public string Model { get; set; }
    public int Year { get; set; }

    public override string TosString()
    {
        return "Make: " + Make + ", Model: " + Model + ", Year: " + year;
    }

然后,在你的程序中的某个地方:

代码语言:javascript
运行
复制
foreach(var car in CarList.Where(c => c.Year >= fromYear && c.Year <= toYear))
{ 
    Console.Out.WriteLine(car);
}

注意,您的GetCars()的功能是如何在一个相当易读的Linq Where方法调用中表达出来的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33499365

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档