相关疑难解决方法(0)

为什么整数零不等于长零?

我在C#中发现的一段奇怪的代码(对于使用.NET的其他CLI语言也应如此structs).

using System;

public class Program
{
    public static void Main(string[] args)
    {
    int a;
    long b;

    a = 0;
    b = 0;

    Console.WriteLine(a.Equals(b)); // False
    Console.WriteLine(a.Equals(0L)); // False
    Console.WriteLine(a.Equals((long)0)); // False
    Console.WriteLine(a.Equals(0)); // True
    Console.WriteLine(a.Equals(a)); // True
    Console.WriteLine(a == b); // True
    Console.WriteLine(a == 0L); // True

    Console.WriteLine();

    Console.WriteLine(b.Equals(a)); // True
    Console.WriteLine(b.Equals(0)); // True
    Console.WriteLine(b.Equals((int)0)); // True
    Console.WriteLine(b.Equals(b)); // True
    Console.WriteLine(b == a); // True
    Console.WriteLine(b == 0); // True
    }
}
Run Code Online (Sandbox Code Playgroud)

这里有两个有趣的点(假设aint和 …

.net c#

20
推荐指数
1
解决办法
1万
查看次数

标签 统计

.net ×1

c# ×1