C# 平均集合中的对象并将其视为同一集合中的新对象
我有一个自定义对象的集合,这些对象在UI中镜像 接口(极其简化) 收藏C# 平均集合中的对象并将其视为同一集合中的新对象,c#,winforms,C#,Winforms,我有一个自定义对象的集合,这些对象在UI中镜像 接口(极其简化) 收藏 MyCollection<IMyInterface> Foo; 我现在需要在我的程序中打开两个IMyInterface类型并显示平均数据,以及单个IMyInterface对象: Name: [ asdf ] Data: [ 1234 ] Name: [ qwer ] Data: [ 5678 ] Name: [ zxcv ] Data: [ 0000 ] Name: [ 2 Objects (asdf, qwe
MyCollection<IMyInterface> Foo;
我现在需要在我的程序中打开两个IMyInterface
类型并显示平均数据,以及单个IMyInterface
对象:
Name: [ asdf ] Data: [ 1234 ]
Name: [ qwer ] Data: [ 5678 ]
Name: [ zxcv ] Data: [ 0000 ]
Name: [ 2 Objects (asdf, qwer) ] Data: [ 3456 ]
我必须能够从这个新的平均值中获得asdf
和qwer
我能做到这一点的最佳方式是什么?我觉得我有三个选择:
IMyInterface
s的集合。然而,这感觉有点脏
有些属性是不可平均的Foo
替换为'MyCollection>,在我使用它的地方,检查内部集合的计数每个IMyInterace都可以有一个imyinterface集合,由您选择如何处理不相关的属性(您可以始终返回null)什么决定了哪些项是平均值?您在示例中省略了
zxcv
。winforms?wpf?asp?您使用的是什么UI技术?@zxcv用户可以选择确定哪些项是平均值(在我的实际应用程序中,这是由ListView完成的-用户可以激活单个项或选择多个要激活的项)。@MattDavey在这种情况下,UI并没有底层集合那么重要,但这是WinForms。@dav_我认为指出您正在使用的UI技术是非常重要的,因为像WPF这样的东西会为如何解决类似问题提供更多的选择。
Name: [ asdf ] Data: [ 1234 ]
Name: [ qwer ] Data: [ 5678 ]
Name: [ zxcv ] Data: [ 0000 ]
Name: [ asdf ] Data: [ 1234 ]
Name: [ qwer ] Data: [ 5678 ]
Name: [ zxcv ] Data: [ 0000 ]
Name: [ 2 Objects (asdf, qwer) ] Data: [ 3456 ]