나는 줄의 첫 부분을 이해하지만, 나는 || 않습니다. 누구든지이 줄을 C#으로 변환하는 방법을 말해 줄 수 있습니까?이 JavaScript 행을 어떻게 C#으로 변환합니까?
var g = grid[iy * gw + ix] || [];
원본 출처는 여기입니다. http://www.dhteumeuleu.com/aqualibrium/source
나는 줄의 첫 부분을 이해하지만, 나는 || 않습니다. 누구든지이 줄을 C#으로 변환하는 방법을 말해 줄 수 있습니까?이 JavaScript 행을 어떻게 C#으로 변환합니까?
var g = grid[iy * gw + ix] || [];
원본 출처는 여기입니다. http://www.dhteumeuleu.com/aqualibrium/source
이것은 논리적이지만 C#의 null-coalescing operator ??
과 기본적으로 동일합니다. 왼쪽이 false
인 경우 왼쪽 또는 오른쪽으로 분해됩니다.
자바 스크립트의 동적 타이핑 때문에 상황이 C#에서와 같이 명확하지는 않습니다. ||
은 왼손 값을 부울로 변환하도록 강제하며, 결국 false
으로 변환되는 다양한 값이 있습니다. 예를 들어 Javascript는이 모든 것을 '기타'로 평가합니다.
* false || 'other';
* 0 || 'other';
* '' || 'other';
* undefined || 'other';
댓글 달기 || 는 coalesce 연산자에 대해 C#와 같습니다. ?? 그리고 []는 빈 배열입니다.
이 경우 grid
은 Particles 배열의 배열입니다. C# 코드는 다음과 같습니다.
// Particle[][] grid = ...
Particle[] g = grid[iy * gw + ix] ?? new Particle[];