Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/257.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# 向BindingList添加重复的值_C#_Add_Bindinglist - Fatal编程技术网

C# 向BindingList添加重复的值

C# 向BindingList添加重复的值,c#,add,bindinglist,C#,Add,Bindinglist,当我向BindingList添加信息时,它会被复制。。。我不明白怎么 我在这节课上列出了: public VideoRepository() { videos = new BindingList<Video>(); videosFiltered = new BindingList<Video>(); } public BindingList<Video> videos { get; set; } public BindingList<V

当我向BindingList添加信息时,它会被复制。。。我不明白怎么

我在这节课上列出了:

public VideoRepository()
{
    videos = new BindingList<Video>();
    videosFiltered = new BindingList<Video>();
}

public BindingList<Video> videos { get; set; }
public BindingList<Video> videosFiltered { get; set; }

public void addVideo(Video video)
{
    Console.WriteLine("Size 1 " + videos.Count);
    videos.Add(video);
    videosFiltered.Add(video);
    Console.WriteLine("Size 2 " + videos.Count);
}
公共视频存储库()
{
视频=新建绑定列表();
videosFiltered=新绑定列表();
}
公共绑定列表视频{get;set;}
公共绑定列表视频过滤{get;set;}
公共视频(视频)
{
Console.WriteLine(“大小1”+视频数);
视频。添加(视频);
视频过滤。添加(视频);
Console.WriteLine(“大小2”+视频数);
}
当我调用方法
addVideo
时,第一次打印显示
Size 1 0
,第二次打印显示
Size 2 2
。即使在使用调试程序时


有什么问题?我喝醉了吗?

我注意到你的
视频和
视频过滤的
都有公共设置器。获得所述行为的唯一方法是,如果某些外部代码(此处未显示)将它们设置为一个且相同的
BindingList
实例

你最好把公共设置器移除

或者,按如下方式修改代码

public void addVideo(Video video)
{
    Console.WriteLine("Size 1 " + videos.Count);
    videos.Add(video);
    if (videosFiltered != videos)
        videosFiltered.Add(video);
    Console.WriteLine("Size 2 " + videos.Count);
}

第一张打印在add之前,第二张打印在add之后。是的,我有,但我戴着眼镜。我的列表是空的,所以第一次打印应该打印0,因为它是,然后我添加了一个对象到我的列表视频,所以我应该有1个对象,但它打印2!之前的打印应该打印0,列表为空,第二次打印应该打印1,我只向列表添加一个对象。。。但我得到了2??是的,你是对的,当我看到你的代码时,我注意到了你的if条件,然后我想起了另一种方法,我想把对象从一个列表复制到另一个列表,我使用了videosFiltered=videos,但没有注释。。。那是我的问题。谢谢你的帮助。