Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/297.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#WPF可观测采集加法_C#_Wpf_Observablecollection - Fatal编程技术网

C#WPF可观测采集加法

C#WPF可观测采集加法,c#,wpf,observablecollection,C#,Wpf,Observablecollection,所以我得到了如下的GetterSetter.cs public string Name { get; set; } 然后mainwindow.xaml.cs我得到了这个 private ObservableCollection<GetterSetter> i = new ObservableCollection<GetterSetter>(); 但它不允许我如何解决这个问题?您不能只使用“.add()”将一个集合添加到另一个集合中。这只是为了分配一个值 如果您希望直接

所以我得到了如下的
GetterSetter.cs

public string Name { get; set; }
然后
mainwindow.xaml.cs
我得到了这个

private ObservableCollection<GetterSetter> i = new ObservableCollection<GetterSetter>();

但它不允许我如何解决这个问题?

您不能只使用“.add()”将一个集合添加到另一个集合中。这只是为了分配一个值

如果您希望直接将textbox值设置为
i
,则只需执行
i.Add(new GetterSetter{Name=textBoxName.Text})

如果
g
是一个包含多个条目的集合,则可以使用添加所有条目

foreach( GetterSetter foo in g){
    i.Add(foo);
}

如果你不需要特别使用ObservableCollections,你可以把它们列为列表。然后你可以只做
iAsList.AddRange(gAsList)

您可以使用
Concat
方法合并两个集合:

ObservableCollection<GetterSetter> a = new ObservableCollection<GetterSetter>();
ObservableCollection<GetterSetter> b = new ObservableCollection<GetterSetter>();

ObservableCollection<GetterSetter> c = new ObservableCollection<GetterSetter>(a.Concat(b));
ObservableCollection a=新的ObservableCollection();
ObservableCollection b=新的ObservableCollection();
ObservableCollection c=新的ObservableCollection(a.Concat(b));

是否要将第一个元素从g添加到i?或者所有元素?我想现在添加名称,但稍后我想添加所有元素必须使用foreach循环迭代该项,然后添加集合,或者您想将x复制到y,然后使用x.addrange(y)
foreach( GetterSetter foo in g){
    i.Add(foo);
}
ObservableCollection<GetterSetter> a = new ObservableCollection<GetterSetter>();
ObservableCollection<GetterSetter> b = new ObservableCollection<GetterSetter>();

ObservableCollection<GetterSetter> c = new ObservableCollection<GetterSetter>(a.Concat(b));