加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c#?:带参数的运算符

发布时间:2020-12-15 23:26:48 所属栏目:百科 来源:网络整理
导读:我有以下课程: public class SubStredisko{ public string Name { get; set; } public string Code { get; set; } public VyplatnePasky VyplatnaPaska { get; set; } public MzdoveNaklady MzdoveNaklady { get; set; } public Poistne Poistne { get; set
我有以下课程:

public class SubStredisko
{
    public string Name { get; set; }
    public string Code { get; set; }

    public VyplatnePasky VyplatnaPaska { get; set; }
    public MzdoveNaklady MzdoveNaklady { get; set; }
    public Poistne Poistne { get; set; }
}

然后我有两个SubStredisko项目,其中一个肯定是空的.我想要做的是,我有一个单独的方法,它使用SubStredisko进行一些处理,例如更改VyplatnaPaska的值等.这是它的样子:

private static void VyplatnePasky_Items(ref Stredisko stredisko,XElement myElement)
    {
        //some logic here
    }

我现在尝试做的事情(我遇到的问题)是使用?:运算符以下列方式调用此方法:

VyplatnePasky_Items((sPracovisko == null) ? ref sPracovisko_Dohodari : ref sPracovisko,xElement);

然而,它突出显示sPracovisko_Dohodari和sPracovisko,并出现以下错误:语法错误,’:’预期.

我试着将它们分开放在括号中,但没有运气.
我究竟做错了什么?

附: sPracovisko和sPracovisko_Dohodari属于SubStredisko类型.

P.S.2:快速思考 – 也许我甚至不需要参考参数?我不太确定在这种情况下是否会创建一个新对象,或者我将(在我的空白中)直接更改该特定对象的值.

解决方法

您不能将表达式用于ref参数.你需要两个电话:

if (sPracovisko == null) {
  VyplatnePasky_Items(ref sPracovisko_Dohodari,xElement);
} else {
  VyplatnePasky_Items(ref sPracovisko,xElement);
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读