我想知道这java代码在C#编译如何翻译java“?”在C#中的运算符?
n = (length > 0) ? Math.min(length, buffer.length) : buffer.length;//Java code
它可以等同于在C#?
if(length >0)
{
n = Math.min(length, buffer.length);
}
else
{
n = buffer.length;
}
我想知道这java代码在C#编译如何翻译java“?”在C#中的运算符?
n = (length > 0) ? Math.min(length, buffer.length) : buffer.length;//Java code
它可以等同于在C#?
if(length >0)
{
n = Math.min(length, buffer.length);
}
else
{
n = buffer.length;
}
C#有conditional operator为好。
在C#:
n = (length > 0) ? Math.Min(length, buffer.Length) : buffer.Length;
唯一的差别将是方法名通常大写在.NET(PascalCase,代替camelCase)。
如果您打算使用C#,我建议您查看available operators。
肯定的,但你也可以使用完全相同的表达在C#
C#也有:有条件的经营者,所以没有必要转换。
是的,你可以只是使用相同的syntax
没有需要,sytnax是完全一样的。
看看this,应该可以帮助你了:)
n = (length > 0) ? Math.Min(length, buffer.Length) : buffer.Length;
三元运营商在C#中存在的唯一的区别是,Math.min
是Math.Min
和buffer.length
是buffer.Length
它被称为条件运算符,三元运算符只有一个有3个操作数 –
你不必“翻译”什么! Java中代码的和平与C#('?'运算符)相同。 “长度”可能有问题。要在C#中获得数组长度,你应该写:'buffer.Length'。它是'Math.Min()'。 – Cipi