Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将对象列表打印到控制台_C#_.net - Fatal编程技术网

C# 将对象列表打印到控制台

C# 将对象列表打印到控制台,c#,.net,C#,.net,我用Listobj对象类型创建了一个列表。并向对象添加了一组值 如何从newlist中以越来越陈旧的方式打印Listobj对象 class Listobj { int age; string name; public int Age { get { return age; } set { age = value; } } public string Name { get { return

我用Listobj对象类型创建了一个列表。并向对象添加了一组值

如何从newlist中以越来越陈旧的方式打印Listobj对象

class Listobj
{
    int age;
    string name;

    public int Age
    {
        get { return age; }
        set { age = value; }
    }

    public string Name
    {
        get { return name; }
        set { name = value; }
    }

    static List<Listobj> newlist = new List<Listobj>();
    static void Main(string[] args)
    {
        /*newlist.Add(10);
        newlist.Add(2);
        newlist.Add(6);
        newlist.Sort();
        newlist.ForEach(Console.WriteLine);
        Console.ReadLine();*/
        Listobj obj = new Listobj();
        int tempage = 23;
        string tempname = "deepak";
        obj.Age = tempage;
        obj.Name = tempname;
        Listobj.newlist.Add(obj);
        foreach (Listobj item in newlist)
            Console.WriteLine(item);
        Console.ReadLine();
    }
}
类Listobj { 智力年龄; 字符串名; 公共信息 { 获取{返回年龄;} 设置{age=value;} } 公共字符串名 { 获取{返回名称;} 设置{name=value;} } 静态列表newlist=新列表(); 静态void Main(字符串[]参数) { /*新增(10); 新增(2); 新增(6); newlist.Sort(); newlist.ForEach(Console.WriteLine); Console.ReadLine()*/ Listobj obj=新Listobj(); int tempage=23; 字符串tempname=“deepak”; 对象年龄=临时年龄; 对象名称=临时名称; Listobj.newlist.Add(obj); foreach(新列表中的Listobj项) 控制台写入线(项目); Console.ReadLine(); } }
您可以使用Linq对列表进行排序:

foreach (Listobj item in newlist.OrderBy(x => x.Age))
    Console.WriteLine(item);

此外,还有一些改进:

  • 你应该重写
  • 使用
其中:

public class Listobj
{
    public int Age { get; set; }
    public string Name { get; set; }

    public override string ToString()
    {
        return string.Format("My name is {0} and I'm {1} years old.", Name, Age);
    }
}

我将重写
Listobj
类中的
ToString

public class Listobj
{
    private int age;
    private string name;

    public int Age
    {
        get { return age; }
        set { age = value; }
    }

    public string Name
    {
        get { return name; }
        set { name = value; }
    }

    public override string ToString()
    {
        return "Person: " + Name + " " + Age;
    }
}
然后您可以这样打印:

foreach (var item in newlist.OrderBy(person => person.Age)) Console.WriteLine(item);

您可以使用IEnumerable变量,然后使用linq按升序对它们进行排序

IEnumerable<Listobj> temp = newlist;
temp = from v in temp
       orderby v.age ascending
       select v;

foreach (Listobj item in temp)
{
    Console.WriteLine(item.Name +"with the age"+ item.Age);
}

Console.ReadLine();
IEnumerable temp=newlist;
温度=从v到温度
orderby v.age升序
选择v;
foreach(临时列表中的Listobj项目)
{
Console.WriteLine(item.Name+“带年龄”+item.age);
}
Console.ReadLine();

foreach中缺少结尾括号。试图编辑,但需要多个字符才能编辑。@Grantwiney Yea。当然可以谢谢你的建议。