相关疑难解决方法(0)

为什么将*nullable*decimal与`0'进行比较与将decimal与'0'进行比较不同?

有人可以解释为什么result1falseresult2true?代码如下:

namespace TestCsharp
{
    class Program
    {
        static void Main(string[] args)
        {
            Order objOrder = new Order(0.0M);

            bool result1 = objOrder.PriceNullable.Equals(0);//returns false
            bool result2 = objOrder.PriceNullable.Value.Equals(0);// returns true
        }
    }

    public class Order
    {
        public decimal? PriceNullable { get; set; }
        public Order(decimal? priceNullable)
        {
            PriceNullable = priceNullable;

        }
    }
}   
Run Code Online (Sandbox Code Playgroud)

c# nullable equality

7
推荐指数
1
解决办法
3379
查看次数

为什么"int"和"sbyte"GetHashCode函数会生成不同的值?

我们有以下代码:

int i = 1;
Console.WriteLine(i.GetHashCode());  // outputs => 1
Run Code Online (Sandbox Code Playgroud)

除了sbyte和short之外,C#中的所有整数类型都是有意义的.那是:

sbyte i = 1;
Console.WriteLine(i.GetHashCode());   //  outputs => 257
Run Code Online (Sandbox Code Playgroud)

为什么是这样?

c# hash

5
推荐指数
1
解决办法
2888
查看次数

标签 统计

c# ×2

equality ×1

hash ×1

nullable ×1