Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/316.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# 向列表中添加2个对象_C# - Fatal编程技术网

C# 向列表中添加2个对象

C# 向列表中添加2个对象,c#,C#,我在比较物体,看它们是否相等,或者有什么不同 如果它们不同,我想以某种方式将它们存储在一起,但我不确定如何存储。将添加多个相同类型的对象 有点像: 列表可能吗 因此,如果我比较对象A和对象B,它们不一样,我可以调用: List.Add(A,B). 所以我知道每个元素上的每个对象都是相关的 希望这有意义 您可以创建具有两个属性的类,也可以使用 前者看起来像 list.Add( new MyObject(A,B) ) list.Add( Tuple.Create(A,B) ); 后者看起来就像

我在比较物体,看它们是否相等,或者有什么不同

如果它们不同,我想以某种方式将它们存储在一起,但我不确定如何存储。将添加多个相同类型的对象

有点像:

列表
可能吗

因此,如果我比较对象A和对象B,它们不一样,我可以调用:

List.Add(A,B).
所以我知道每个元素上的每个对象都是相关的


希望这有意义

您可以创建具有两个属性的类,也可以使用

前者看起来像

list.Add( new MyObject(A,B) )
list.Add( Tuple.Create(A,B) );
后者看起来就像

list.Add( new MyObject(A,B) )
list.Add( Tuple.Create(A,B) );
为了初始化此列表,需要知道
A
B
的类型,但假设
A
Foo
类型,而
B
Bar
类型,列表将初始化为

var list = new List<Tuple<Foo,Bar>>()
var list=新列表()

您可以创建具有两个属性的类,也可以使用

前者看起来像

list.Add( new MyObject(A,B) )
list.Add( Tuple.Create(A,B) );
后者看起来就像

list.Add( new MyObject(A,B) )
list.Add( Tuple.Create(A,B) );
为了初始化此列表,需要知道
A
B
的类型,但假设
A
Foo
类型,而
B
Bar
类型,列表将初始化为

var list = new List<Tuple<Foo,Bar>>()
var list=新列表()

您可以使用Tuple存储不同类型的对象

Tuple<type1,type2>
元组

您可以使用Tuple存储不同类型的对象

Tuple<type1,type2>
元组
将添加多个相同类型的对象

然后听起来你想要一个
列表
(基本上是一个锯齿状数组)。如果有一些“键”值(例如,您正在比较的属性)可用于标识“相等”对象的组,则
字典
可能会提供一些性能改进

请注意,如果已经有一个集合,则可以使用
GroupBy
Linq方法将“equal”对象分组在一起

将添加多个相同类型的对象

然后听起来你想要一个
列表
(基本上是一个锯齿状数组)。如果有一些“键”值(例如,您正在比较的属性)可用于标识“相等”对象的组,则
字典
可能会提供一些性能改进


请注意,如果您已经有一个集合,您可以使用
GroupBy
Linq方法将“相等”对象分组在一起。

创建一个具有两个属性的类,或者使用
列表
列表
@Tim-非常尊敬您,但是,如果你要回答一个问题,你能回答它而不是评论吗?否则,我们这些花时间回答问题的人会被指控。谢谢。创建一个具有两个属性的类,或者使用
列表
列表
@Tim-非常尊敬你,但是如果你要回答一个问题,你能回答它而不是评论吗?否则,我们这些花时间去回答的人会被指控。谢谢。这是一个如何创建空元组的示例,因为当我遍历所有对象时,这将是一个扩展列表。如果是,我会继续添加它们different@BhargavModi-不,复制自大约15年来编写.NET代码的过程*rolleyes*如何使用元组在后一个示例中创建列表?变量列表=新List@user3437721:你应该熟悉。如果您想要一个满是字符串的列表,请使用
new list()
如果您想要自定义类
Foo
使用
new list()
和元组
new list()
(假设两者的类型都是字符串)。@user3437721-请参阅更新的答案示例,了解如何创建空元组,因为当我循环遍历所有对象时,这将是一个扩展列表。如果是,我会继续添加它们different@BhargavModi-不,复制自大约15年来编写.NET代码的过程*rolleyes*如何使用元组在后一个示例中创建列表?变量列表=新List@user3437721:你应该熟悉。如果您想要一个充满字符串的列表,请使用
new list()
如果您想要自定义类
Foo
使用
new list()
和元组
new list()
(假定两者的类型都是字符串)。@user3437721-请参阅更新的答案