gpt4 book ai didi

c# - List<> 和 Contains 方案,使用 asp.net 2.0 比较 get excluded 和 included

转载 作者:太空宇宙 更新时间:2023-11-03 22:20:37 24 4
gpt4 key购买 nike

我有两个包含 Tag 对象的列表,例如 List 我需要查找排除项和包含项以执行更新操作如何找到它们之间的差异,因为它们包含一个 Tag 对象。您能否将 Contains 函数与列表中的 Tag 对象一起使用需要一些帮助。

我使用的是 asp.net 2.0,所以如果你能帮我用那种语言来做,请多多指教。

List<Tag> tag1 = new List<Tag>()  
tag1.Add(new Tag("Apples"));
tag1.Add(new Tag("Oranges"));
tag1.Add(new Tag("Pears"));

List<Tag> tag2 = new List<Tag>()
tag2.Add(new Tag("Apples"));
tag2.Add(new Tag("Bananas"));

txtExcluded.Text = list1;
txtIncluded.Text = list2

最佳答案

你可以实现 IEquatable<T> :

public class Tag : IEquatable<Tag>
{
public Tag(string text)
{
Text = text;
}
public string Text { get; set; }

public bool Equals(Tag other)
{
return other != null && string.Equals(Text, other.Text);
}

public override bool Equals(object obj)
{
return Equals(obj as Tag);
}

public override int GetHashCode()
{
return (Text ?? string.Empty).GetHashCode();
}
}

现在 Contains 方法可以像这样工作:

var list = new List<Tag>(new[]
{
new Tag("Apples"),
new Tag("Oranges"),
new Tag("Pears"),
});

var tag = new Tag("Pears");
bool isContains = list.Contains(tag); // returns true

关于c# - List<> 和 Contains 方案,使用 asp.net 2.0 比较 get excluded 和 included,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3218559/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com