有个C# foreach 问题请教下---(我这题的foreach用的为什么不对?应该怎么正确使用foreach?)求解啊。。
创建一个泛型集合,类型为Person类,其中Person类中有两个属性Name,Age,往泛型集合中添加三个对象,张三20李四23王二21,最后把这个集合中的元素全部遍历...
创建一个泛型集合,类型为Person类,其中Person类中有两个属性Name ,Age ,往泛型集合中添加三个对象,张三 20 李四 23 王二 21 ,最后把这个集合中的元素全部遍历出来
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace 泛型集合
{
classpeople
{
privatestring name; //name
publicstring Name
{
get { return name; }
set { name = value; }
}
privateint age; //age
publicint Age
{
get
{return age;}
set
{
age = value;
}
}
}
classProgram
{
staticvoid Main(string[] args)
{
people p1 = newpeople();
people p2 = newpeople();
people p3 = newpeople();
int i;
p1.Name = "张三";
p1.Age = Convert.ToInt32(20);
p2.Name = "李四";
p2.Age = Convert.ToInt32(23);
p3.Age = Convert.ToInt32(21);
p3.Name = "王二";
List<people> peoples = newList<people>(); //创建一个泛型
peoples.Add(p1);
peoples.Add(p2);
peoples.Add(p3);
//foreach (people p in peoples)//“people” 的实例化对象 “p” “在(in)” peoples 这个 “集合(peoples)” 中
//{
// Console.WriteLine(p);
//} //foreach 为何不对???
for (i = 0; i < peoples.Count; i++) //for输出
{
Console.WriteLine("{0},{1}", peoples[i].Name, peoples[i].Age);
}
Console.ReadLine();
}
}
} 展开
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace 泛型集合
{
classpeople
{
privatestring name; //name
publicstring Name
{
get { return name; }
set { name = value; }
}
privateint age; //age
publicint Age
{
get
{return age;}
set
{
age = value;
}
}
}
classProgram
{
staticvoid Main(string[] args)
{
people p1 = newpeople();
people p2 = newpeople();
people p3 = newpeople();
int i;
p1.Name = "张三";
p1.Age = Convert.ToInt32(20);
p2.Name = "李四";
p2.Age = Convert.ToInt32(23);
p3.Age = Convert.ToInt32(21);
p3.Name = "王二";
List<people> peoples = newList<people>(); //创建一个泛型
peoples.Add(p1);
peoples.Add(p2);
peoples.Add(p3);
//foreach (people p in peoples)//“people” 的实例化对象 “p” “在(in)” peoples 这个 “集合(peoples)” 中
//{
// Console.WriteLine(p);
//} //foreach 为何不对???
for (i = 0; i < peoples.Count; i++) //for输出
{
Console.WriteLine("{0},{1}", peoples[i].Name, peoples[i].Age);
}
Console.ReadLine();
}
}
} 展开
1个回答
展开全部
题目中写得很清楚是Person类,你给整个people?!遍历很简单的:
List<Person> persons=New List<Person>(); //创建泛型集合
persons.Add(......) //添加元素到集合
foreach(Person person in persons) //遍历
或者这样:
foreach(var person in persons)
希望对你有帮助,有疑问请追问或是Hi
List<Person> persons=New List<Person>(); //创建泛型集合
persons.Add(......) //添加元素到集合
foreach(Person person in persons) //遍历
或者这样:
foreach(var person in persons)
希望对你有帮助,有疑问请追问或是Hi
更多追问追答
追答
这个确实不对嘛,你参考一下你自己写的for循环那个,这个只是没有i的下标,输出还是应该是属性,不是类,明白了没有?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询