
我们正在创建 Employee 类的两个实例,e 和 e1。 e 被分配给e1。两个对象都指向同一个引用,因此我们将得到 true对于所有的Equals,预期输出。
在第二个案例中,我们可以观察到,尽管属性值相同Equals返回false。基本上,当参数引用不同的对象时等于不检查值并始终返回 false。
示例 1
class Program{ static void Main(string[] args){ Employee e = new Employee(); e.Name = "Test"; e.Age = 27; Employee e2 = new Employee(); e2 = e; var valueEqual = e.Equals(e2); Console.WriteLine(valueEqual); //2nd Case Employee e1 = new Employee(); e1.Name = "Test"; e1.Age = 27; var valueEqual1 = e.Equals(e1); Console.WriteLine(valueEqual1); Console.ReadLine(); }}class Employee{ public int Age { get; set; } public string Name { get; set; }}
输出
TrueFalse
Example 2
的中文翻译为:
示例 2
class Program{ static void Main(string[] args){ Employee e = new Employee(); e.Name = "Test"; e.Age = 27; Employee e2 = new Employee(); e2 = e; var valueEqual = e.Equals(e2); Console.WriteLine(valueEqual); Employee e1 = new Employee(); e1.Name = "Test"; e1.Age = 27; var valueEqual1 = e.Equals(e1); Console.WriteLine(valueEqual1); Console.ReadLine(); }}class Employee{ public int Age { get; set; } public string Name { get; set; } public override bool Equals(object? obj){ if (obj == null) return false; if (this.GetType() != obj.GetType()) return false; Employee p = (Employee)obj; return (this.Age == p.Age) && (this.Name == p.Name); } public override int GetHashCode(){ return Age.GetHashCode() ^ Name.GetHashCode(); }}
输出
TrueTrue
以上就是如何在 LINQ C# 编程中同时使用 Take 和 Skip 运算符的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1435204.html
微信扫一扫
支付宝扫一扫