相关疑难解决方法(0)

==和等于()之间的C#差异

我在Silverlight应用程序中有一个比较2个字符串的条件,由于某种原因,当我使用==它时返回false.Equals()返回true.

这是代码:

if (((ListBoxItem)lstBaseMenu.SelectedItem).Content.Equals("Energy Attack"))
{
    // Execute code
}

if (((ListBoxItem)lstBaseMenu.SelectedItem).Content == "Energy Attack")
{
    // Execute code
}
Run Code Online (Sandbox Code Playgroud)

任何理由为什么会这样?

.net c# equals

519
推荐指数
9
解决办法
28万
查看次数

为什么我们需要在C#中装箱和拆箱?

为什么我们需要在C#中装箱和拆箱?

我知道拳击和拆箱是什么,但我无法理解它的实际用途.我应该在哪里以及在哪里使用它?

short s = 25;

object objshort = s;  //Boxing

short anothershort = (short)objshort;  //Unboxing
Run Code Online (Sandbox Code Playgroud)

.net c# boxing

307
推荐指数
6
解决办法
13万
查看次数

等于int和short c#返回false

考虑以下代码:

static int x2 = 10;

public static void Main()
{
     short y = 10;
     Console.WriteLine(y.Equals(x2)); //False
     Console.Read();
}
Run Code Online (Sandbox Code Playgroud)

为何y.Equals(x2)回归false

.net c# compare equality

3
推荐指数
1
解决办法
996
查看次数

C# int 相等运算符意外为 false

这是一个更广泛的问题,以我的具体例子为例。到此为止的代码相当复杂,所以我希望这已经足够了。

C#中什么情况下两个相同的int不相等?

1005 == 1005 //false
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

在此输入图像描述

specConversion首先作为传递的 string ,其中确定(类的属性)spec的类型,然后将其转换为该类型。这似乎按预期工作,因为此时两个变量具有相同的类型。我不确定其中任何一个是否与最初的问题相关:为什么这两个 int 值不相等?yspecspecConversion

c# .net-6.0

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

标签 统计

c# ×4

.net ×3

.net-6.0 ×1

boxing ×1

compare ×1

equality ×1

equals ×1