Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.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# 获取IEnumerable的元素_C#_Ienumerable - Fatal编程技术网

C# 获取IEnumerable的元素

C# 获取IEnumerable的元素,c#,ienumerable,C#,Ienumerable,我得到了如下对象的列表: IEnumerable personeller = (IEnumerable)sicil_model.OlayForm_Personel(); 我像这样在里面循环 foreach (var personel in personeller) { //can't do anything... } personeller[0] | { Id = 5, Kimlik = "Koray Durudoğan", EMail = "koray@outlook.com", Dep

我得到了如下对象的列表:

IEnumerable personeller = (IEnumerable)sicil_model.OlayForm_Personel();
我像这样在里面循环

foreach (var personel in personeller)
{
 //can't do anything...
}
personeller[0] | { Id = 5, Kimlik = "Koray Durudoğan", EMail = "koray@outlook.com", DepartmanAdi = "Yazilim", PozisyonAdi = "Yazilim Geliştirme" }

personeller[1] | { Id = 6, Kimlik = "Hasan Pınar", EMail = "hasan@dincerelektronik.com.tr", DepartmanAdi = "Yazilim", PozisyonAdi = "Yazilim Geliştirme" }
    .
    .
    .
public class Personel_Form 
{
    public int Id { get; set; }
    public string Kimlik { get; set; }
    public string EMail { get; set; }
    public string DepartmanAdi { get; set; }
    public string PozisyonAdi { get; set; }
}
我在
personeller
中循环,我可以看到所有类似的元素

foreach (var personel in personeller)
{
 //can't do anything...
}
personeller[0] | { Id = 5, Kimlik = "Koray Durudoğan", EMail = "koray@outlook.com", DepartmanAdi = "Yazilim", PozisyonAdi = "Yazilim Geliştirme" }

personeller[1] | { Id = 6, Kimlik = "Hasan Pınar", EMail = "hasan@dincerelektronik.com.tr", DepartmanAdi = "Yazilim", PozisyonAdi = "Yazilim Geliştirme" }
    .
    .
    .
public class Personel_Form 
{
    public int Id { get; set; }
    public string Kimlik { get; set; }
    public string EMail { get; set; }
    public string DepartmanAdi { get; set; }
    public string PozisyonAdi { get; set; }
}
事情是这样的。。问题是,我无法访问对象的元素。例如,如何获取personeller[0]的Id或personeller[1]的Kimlik

我上过这样的课

foreach (var personel in personeller)
{
 //can't do anything...
}
personeller[0] | { Id = 5, Kimlik = "Koray Durudoğan", EMail = "koray@outlook.com", DepartmanAdi = "Yazilim", PozisyonAdi = "Yazilim Geliştirme" }

personeller[1] | { Id = 6, Kimlik = "Hasan Pınar", EMail = "hasan@dincerelektronik.com.tr", DepartmanAdi = "Yazilim", PozisyonAdi = "Yazilim Geliştirme" }
    .
    .
    .
public class Personel_Form 
{
    public int Id { get; set; }
    public string Kimlik { get; set; }
    public string EMail { get; set; }
    public string DepartmanAdi { get; set; }
    public string PozisyonAdi { get; set; }
}
但在我的foreach循环中,我无法将“personel”转换为这个类

最后,以下是打开列表的方法:

public object OlayForm_Personel() 
    {
        return (from p in Entity.GetEntity().Sicil
                           select new 
                           {
                            Id = p.Id,
                            Kimlik = p.Isim + " " + p.Soyad,
                            EMail = p.EMail,
                            DepartmanAdi = p.Departman.DepartmanAdi,
                            PozisyonAdi = p.Pozisyon1.PozisyonAdi
                           }).ToList();
    }
从你的句子“我在personeller中循环”,我可以看到所有类似的元素和给定的示例数据,我推断函数返回的集合存储
Personel\u表单
类型的项

两种选择:

  • 您正在将它投射到非遗传的
    IEnumerable
    中,以保存 项目作为
    对象
    s。您可以将其转换为正确的类型:

    IEnumerable personeller = (IEnumerable)sicil_model.OlayForm_Personel();
    
    foreach (var personel in personeller)
    {
        var personalForm = (Personel_Form)personel;
        // personalForm.Kimlik
    }
    
  • 但更好的方法是:不要使用非泛型的
    IEnumerable
    使用泛型的
    IEnumerable

    从你的句子“我在personeller中循环”,我可以看到所有类似的元素和给定的示例数据,我推断函数返回的集合存储
    Personel\u表单
    类型的项

    两种选择:

  • 您正在将它投射到非遗传的
    IEnumerable
    中,以保存 项目作为
    对象
    s。您可以将其转换为正确的类型:

    IEnumerable personeller = (IEnumerable)sicil_model.OlayForm_Personel();
    
    foreach (var personel in personeller)
    {
        var personalForm = (Personel_Form)personel;
        // personalForm.Kimlik
    }
    
  • 但更好的方法是:不要使用非泛型的
    IEnumerable
    使用泛型的
    IEnumerable


    如果可能的话,您可以从

    public object OlayForm_Personel() 
        {
            return (from p in Entity.GetEntity().Sicil
                               select new 
                               {
                                Id = p.Id,
                                Kimlik = p.Isim + " " + p.Soyad,
                                EMail = p.EMail,
                                DepartmanAdi = p.Departman.DepartmanAdi,
                                PozisyonAdi = p.Pozisyon1.PozisyonAdi
                               }).ToList();
        }
    


    如果可能的话,您可以从

    public object OlayForm_Personel() 
        {
            return (from p in Entity.GetEntity().Sicil
                               select new 
                               {
                                Id = p.Id,
                                Kimlik = p.Isim + " " + p.Soyad,
                                EMail = p.EMail,
                                DepartmanAdi = p.Departman.DepartmanAdi,
                                PozisyonAdi = p.Pozisyon1.PozisyonAdi
                               }).ToList();
        }
    


    OlayForm_Personel的返回类型是什么?您可以使用
    ElementAt()
    访问IEnumerable索引
    OlayForm_Personel的原始返回类型是什么?根据实际获得的内容,您可以使用
    .Cast()
    或简单地使用
    .ToList()
    什么是OlayForm\u Personel的返回类型?您可以使用
    ElementAt()
    来访问IEnumerable索引
    OlayForm\u Personel的原始返回类型是什么?根据您实际得到的内容,您可以使用
    .Cast()
    或简单地使用
    .ToList()
    您无法在不知道OlayFrom_Personal
    实际返回内容的情况下对其结果进行强制转换。编辑:哦,对不起,这是另一个答案,你的答案肯定几乎同时出现。@ManfredRadlwimmer-从问题中的样本数据可以清楚地看出,每个项目都属于
    个人形式的类型
    ,我以为你有
    (IEnumerable)的演员阵容
    太多-我的mistake@ManfredRadlwimmer-那很好:)我很高兴你不只是投了反对票就离开了,而是留下来检查这个问题-这是一件罕见的事情,所以:)var personalForm=(personel)personel;找不到类型或命名空间“personel”之类的错误,因此我尝试了var personalForm=(personel_Form)personel;但它会给出一个类似“f_uAnonymousType1`5[System.Int32,System.String,System.String,System.String,System.String]”的错误。如果不知道OlayFrom_Personal
    的实际返回内容,则无法强制转换其结果。编辑:哦,对不起,这是另一个答案,你的答案肯定几乎同时出现。@ManfredRadlwimmer-从问题中的样本数据可以清楚地看出,每个项目都属于
    个人形式的类型
    ,我以为你有
    (IEnumerable)的演员阵容
    太多-我的mistake@ManfredRadlwimmer-那很好:)我很高兴你不只是投了反对票就离开了,而是留下来检查这个问题-这是一件罕见的事情,所以:)var personalForm=(personel)personel;找不到类型或命名空间“personel”之类的错误,因此我尝试了var personalForm=(personel_Form)personel;但是它给出了一个类似于“f_uAnonymousType1`5[System.Int32,System.String,System.String,System.String,System.String]”的错误。。