如何在我的列表中没有“for”循环的情况下添加数据?

时间:2015-05-20 19:29:26

标签: c# list inheritance

有一张电影桌。我添加了每个客户的电影到List。如何将没有数组的list的这些元素添加到可以从List<string>接收继承的类?

int sayici = 0;
for (int i = 0; i < filmler.Count; )
{
    List<string> flm = new List<string>();
    n = new varliklar.kisi_film_listesi();
    for (int j = i + 1; j < (filmler.Count - 1); j++)
    {
        if (filmler[i]._CustomerID == filmler[j]._CustomerID)
        {
            flm.Add(filmler[j - 1]._Movie);
            sayici++;
        }
    }

    Veri nesneVeri = new Veri();
    n._CumtomerID = filmler[i]._CustomerID;
    n._movies = flm;
    // I WANT TO CHANGE THIS "for" LOOP, I WANT TO ADD WITHOUT ARRAY
    for (int a = 0; a < flm.Count; a++)
    {
        nesneVeri.Add(flm[a]);
    }
    db.Add(nesneVeri);
    i += sayici + 1;
    sayici = 0;
} 

这也是我的数据类

public class Veri : List<String>
{
    public double Destek { get; set; }
    public bool Contains(Veri veriler)
    {
        return (this.Intersect(veriler).Count() == veriler.Count);
    }
    public Veri Remove(Veri veriler)
    {
        Veri removed = new Veri();
        removed.AddRange(from item in this
                         where !veriler.Contains(item)
                         select item);
        return (removed);
    }

    public override string ToString()
    {
        return ("{" + string.Join(", ", this.ToArray()) + "}" + (this.Destek > 0 ? " (Destek: " + Math.Round(this.Destek, 2) + "%)" : string.Empty));
    } 

2 个答案:

答案 0 :(得分:3)

这个循环:

for (int a = 0; a < flm.Count; a++)
{
    nesneVeri.Add(flm[a]);
}

与:

相同
nesneVeri.AddRange(flm);

List<T>.AddRange函数可以使用任何IEnumerable<T>,因此它可以使用列表数组。但我不确定实际问题是什么。

答案 1 :(得分:0)

由于课程Veri继承自List<string>,因此您可以使用List课程的AddRange方法。

在您的示例中,您可以使用此行代码替换要更改的for循环。

nesneVeri.AddRange(flm)