C# 将对象列表打印到控制台
我用Listobj对象类型创建了一个列表。并向对象添加了一组值 如何从newlist中以越来越陈旧的方式打印Listobj对象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
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。当然可以谢谢你的建议。