How can i use generic list with foreach?
if i compiled below codes error return foreach loop how can i solve it?
Error:Error 1 foreach statement cannot operate on variables of type 'Sortlist.MyCalısan' because 'Sortlist.MyCalısan' does not contain a public definition for 'GetEnumerator' C:\Users\yusuf.kar开发者_JAVA技巧atoprak\Desktop\ExcelToSql\TestExceltoSql\Sortlist\Program.cs 46 13 Sortlist
static void EskiMetodlaListele()
{
MyCalısan myCalısan = new MyCalısan();
Calısan calisan = new Calısan();
calisan.Ad = "ali";
calisan.SoyAd = "abdullah";
calisan.ID = 1;
myCalısan.list.Add(calisan);
foreach (Calısan item in myCalısan)
{
Console.WriteLine(item.Ad.ToString());
}
}
}
public class Calısan
{
public int ID { get; set; }
public string Ad { get; set; }
public string SoyAd { get; set; }
}
public class MyCalısan
{
public List<Calısan> list { get; set; }
public MyCalısan()
{
list = new List();
}
}
Only write foreach (Calısan item in myCalısan.list)
.
I recommend MyCalısan
to define as Collection.
public class MyCalısan : Collection<Calısan>
{
}
You should loop on MyCalisan.list; MyCalisan is just your class, and is not enumerable itself.
a few issues need to be fixed before it will compile:
public class MyCalısan{
public List<Calısan> list { get; set; }
public MyCalısan()
{
list = new List<Calısan>();
}}
foreach (Calısan item in myCalısan.list)
{
Console.WriteLine(item.Ad.ToString());
}
You need to iterate over the collection you had defined - the list
property:
myCalısan.list.Add(calısan);
foreach (Calısan item in myCalısan.list)
{
Console.WriteLine(item.Ad.ToString());
}
However, if you want to iterate over myCalısan
directly, make the MyCalısan
class implement IEnumerable<Calısan>
.
精彩评论