首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >system.stackoverflowexception无法计算表达式,因为当前线程处于堆栈溢出状态

system.stackoverflowexception无法计算表达式,因为当前线程处于堆栈溢出状态
EN

Stack Overflow用户
提问于 2013-08-12 22:07:48
回答 1查看 13K关注 0票数 3

当代码命中此函数时,我会得到一个System.StackOverFlowException。

其中stringtype type是用户定义的tupe,等于int类型库中的函数。

代码语言:javascript
复制
  public static bool Equals(StringType leftHand, StringType rightHand)
  {
       if (leftHand == rightHand)
       {
          return true;
       }
       if ((leftHand == "0") || (rightHand == "0"))
       {
          return false;
       }
       return (leftHand.myValue.Equals(rightHand.myValue) && leftHand.myState.Equals(rightHand.myState));
   }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-08-12 22:09:57

代码语言:javascript
复制
if (leftHand == rightHand)

更改为

代码语言:javascript
复制
if (object.ReferenceEquals(leftHand, rightHand))

您可能重新定义了==操作符来调用Equals

我希望您不要使用string中的隐式操作符来创建StringType,因为否则

代码语言:javascript
复制
if ((leftHand == "0") || (rightHand == "0"))

也可能出于同样的原因而自称。

很可能

代码语言:javascript
复制
if ((leftHand.myValue == "0") || (rightHand.myValue == "0"))

那就更好了。

票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18189123

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档