【发布时间】:2011-09-09 10:03:15
【问题描述】:
参数传入方法时是否按顺序求值?
对于 Java 总是如此,对于 C 则不是,但对于 C#,答案是什么?
样本
string.Format("byte1={0} byte2={1} byte3={2}",
getNextByte(),
getNextByte(),
getNextByte());
int pos=0;
byte[] arr=new byte[] {1,2,3,4,5,6};
byte getNextByte()
{
return arr[pos++];
}
此示例有效,但这只是运气还是规则?
【问题讨论】:
-
“Evaluated”可能是一个比“accessed”更精确的词。
-
顺便说一句,这个问题以前有人问过。
-
@Aasmund:谢谢,我改了。
标签: c#