C#中的这个冒号是什么意思

C#中的这个冒号是什么意思,c#,C#,在此代码中: var hasManyToOne=false; foreach(var property in entity.Descendants("Property")) { if (property:manyToOne!=null) { hasManyToOne=true; } } 变量“property”后面的冒号是什么意思?这是一个周期吗?我在C语言中找不到任何显示冒号的引用。这是一个键入错误(因为属性。在XElement中没有manytone)或其他内容,但有一件

在此代码中:

var hasManyToOne=false;
foreach(var property in entity.Descendants("Property"))
{
  if (property:manyToOne!=null)
  {
    hasManyToOne=true;
  }
}
变量“property”后面的冒号是什么意思?这是一个周期吗?我在C语言中找不到任何显示冒号的引用。

这是一个键入错误(因为
属性。在
XElement
中没有manytone
)或其他内容,但有一件事是肯定的

这不是有效的C#语法,甚至不会编译。看这里


表示无法编译的错误代码。

不是有效的C#运算符。
.

在什么C#编译器下合法?我认为这就像三元运算符一样使用。这段代码真的可以编译吗?或者你在网站或电子书中看到过吗?如果是这样的话,它可能是一个输入错误:)对我来说似乎是一个输入错误,它可能是
属性??运算符无效的运算符并不意味着该语言中不存在该运算符。示例:
if(1==1?true:false)
isvalid@Bart它作为内联if(条件?真部分:假部分)的一部分存在,但不是作为一个独立的运算符。@Beatles1692 OP甚至没有使用
运算符这个词
不是运算符是正确的。调用方法和命名参数时,使用冒号,例如,这是合法语法:
SellItem(价格:9.25m)
您甚至可以在冒号前面加一个空格
。当然,这并不意味着它是一个运算符,但它看起来有点像原始问题中的代码。