어쨌든 이렇게 올려다 보니 필자도 여기에 올릴 것입니다. 다음 규칙은 표현의 이러한 종류의에 적용되는 임베디드 표현
와 표현의 C# 5.0 사양
5.3.3.21 일반 규칙에서
: 괄호 표현 (§7.6.3) (7.6.6), 색인 접근 (7.6.8), 증가 및 감소 표현 (7.6.9, 7.7.5), 캐스트 표현 (7.7.6), 단항 + -, ~, * 표현식, 바이너리 +, -, *, /, %, < < >> >> < < = (§7.8, §7.9, §7.10, §7.11), 복합 할당 표현 (§7.17.2), 확인 된 표현식과 확인되지 않은 표현식 (§7.17), §7.8, §7.8, §7.6.12), 배열 및 델리게이트 작성 표현 (§7.6.10). 위의 각 표현식에는 무조건 의 고정 된 순서 (강조 표시)으로 평가되는 하나 이상의 하위 표현식이 있습니다. 예를 들어 binary % 연산자는 연산자의 왼쪽을 평가 한 다음 오른쪽을 평가합니다. 인덱싱 작업은 인덱싱 된 식을 계산 한 다음 왼쪽에서 오른쪽 순으로 각 인덱스 식을 계산합니다.
각 표현의 종류에 대한 자세한 규칙은 7 단원에 설명되어 있습니다.이 단원을 모두 여기에 나열하지는 않겠지 만 경험칙은 코드로 작성된대로 왼쪽에서 오른쪽으로 표시됩니다. 예 :인수의
7.5.1.2 런타임 평가
인수 목록의 표정은 항상 그들이 기록 된 순서대로 평가됩니다 보여줍니다. 따라서, 예를
class Test
{
static void F(int x, int y = -1, int z = -2) {
System.Console.WriteLine("x = {0}, y = {1}, z = {2}", x, y, z);
}
static void Main() {
int i = 0;
F(i++, i++, i++);
F(z: i++, x: i++);
}
}
출력을
x = 0, y = 1, z = 2
x = 4, y = -1, z = 3
나는 끝은'구문은 답변에서 작동'@ : – fredoverflow
밖으로 편집 - P 감사합니다 생각하지 않습니다를 생성합니다. – Bojangles