.NET字符串比较谜语

时间:2016-04-15 20:48:40

标签: c# string json.net comparison

考虑使用最新的Json.NET块来评估.net项目下的以下C#代码。

...

object x = Get();
var shouldEqual = x == "a"; //false

string x2 = Get();
var shouldEqual2 = x2 == "a"; //true

object x3 = Get();
var shouldEqual3 = x3.Equals("a"); //true

object x4 = "a";
var shouldEqual4 = x4 == "a"; //true

...

private class A
{
    public string X { get; set; }
}

private string Get()
{
    var des = JsonConvert.DeserializeObject<A>("{\"x\": \"a\"}");
    return des.X;
}

有人可以澄清为什么第一个条件会产生负面的比较结果。

在Xamarin的Android平台下基本上遇到了问题。 提取culpirit后,在Console App中重新测试它会产生相同的结果。

提前致谢。

0 个答案:

没有答案