当前位置: 首页 > 编程笔记 >

C#默认等于行为。

刘选
2023-03-14
本文向大家介绍C#默认等于行为。,包括了C#默认等于行为。的使用技巧和注意事项,需要的朋友参考一下

示例

Equals在Object类本身中声明。

public virtual bool Equals(Object obj);

默认情况下,Equals具有以下行为:

  • 如果实例是引用类型,则Equals仅当引用相同时才返回true。

  • 如果实例是值类型,则Equals仅当类型和值相同时才返回true。

  • string是一个特例。它的行为类似于值类型。

namespace ConsoleApplication
{
    public class Program
    {
        public static void Main(string[] args)
        {
            //areFooClassEqual:否
            Foo fooClass1 = new Foo("42");
            Foo fooClass2 = new Foo("42");
            bool areFooClassEqual = fooClass1.Equals(fooClass2);
            Console.WriteLine("fooClass1 and fooClass2 are equal: {0}", areFooClassEqual);
            //False

            //areFooIntEqual:正确
            int fooInt1 = 42;
            int fooInt2 = 42;
            bool areFooIntEqual = fooInt1.Equals(fooInt2);
            Console.WriteLine("fooInt1 and fooInt2 are equal: {0}", areFooIntEqual);

            //areFooStringEqual:真
            string fooString1 = "42";
            string fooString2 = "42";
            bool areFooStringEqual = fooString1.Equals(fooString2);
            Console.WriteLine("fooString1 and fooString2 are equal: {0}", areFooStringEqual);
        }
    }

    public class Foo
    {
        public string Bar { get; }

        public Foo(string bar)
        {
            Bar = bar;
        }
    }
}
           

 类似资料:
  • 我试图添加一个带有默认值的请求参数,但是我希望默认值是登录的用户名。 我有一个方法getUsername(),它返回当前用户的名称,但我不能将注释的值设置为方法调用(或类属性)。这是我的方法: 我可以使RequestParam不是必需的,并在为null时填充它——但这感觉不是很优雅(或者说是spring风格)。还有其他方法可以做到这一点吗?

  • 问题内容: Javascript中是否有Python的defaultdict的等效项?这将是一个Javascript数组,其中可为缺少的键返回的值是可定义的。就像是: 如果没有,您将如何实施? 问题答案: 不,这在JavaScript中是不可能的。顺便说一句,您当然是指 对象 (属性值映射)而不是数组。两种解决方案: 将您的对象实现为,旨在完全实现您想要的功能。但是,它只是一个草稿,目前仅在Fir

  • 问题内容: 因此,我在过去的一个小时里一直在互联网上浏览,阅读并寻找这个简单问题的明确答案。 MySQL中的默认JOIN是什么? 一样吗 还有一个相关的问题,当您使用“ WHERE”子句时,它与JOIN或INNER JOIN相同吗? 现在,我认为独立的JOIN与使用逗号和WHERE子句相同。 问题答案: 在MySQL中,写不合格的隐含含义。换句话说,in 是可选的。而在MySQL的同义词。为了清楚

  • 本文向大家介绍C#属性的默认值,包括了C#属性的默认值的使用技巧和注意事项,需要的朋友参考一下 示例 可以使用初始化程序(C#6)设置默认值 如果它是只读的,则可以返回如下值:            

  • 许多事件会自动触发浏览器执行某些行为。 例如: 点击一个链接 —— 触发导航(navigation)到该 URL。 点击表单的提交按钮 —— 触发提交到服务器的行为。 在文本上按下鼠标按钮并移动 —— 选中文本。 如果我们使用 JavaScript 处理一个事件,那么我们通常不希望发生相应的浏览器行为。而是想要实现其他行为进行替代。 阻止浏览器行为 有两种方式来告诉浏览器我们不希望它执行默认行为:

  • 在 C++中,定义函数时可以给形参指定一个默认的值,这样调用函数时如果没有给这个形参赋值(没有对应的实参),那么就使用这个默认的值。也就是说,调用函数时可以省略有默认值的参数。如果用户指定了参数的值,那么就使用用户指定的值,否则使用参数的默认值。 所谓默认参数,指的是当函数调用中省略了实参时自动使用的一个值,这个值就是给形参指定的默认值。下面是一个简单的示例: 运行结果: 10, 3.5, # 2