我理解該行的第一部分,但我不確定在||之後的部分是什麼。確實。任何人都可以告訴我如何將此行轉換爲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
,它會解析到左邊或右邊。
有一點需要注意的是,由於Javascript的動態輸入,情況並不像C#那樣清晰。 ||
強制將左側值轉換爲布爾值,並且有多種值將最終轉換爲false
。例如,使用Javascript將評估所有這些爲 「其他」:
* false || 'other';
* 0 || 'other';
* '' || 'other';
* undefined || 'other';
正如評論||相當於c#的coalesce操作符??。 []是一個空數組。在這種情況下,grid
是粒子數組的數組。 C#等效代碼將爲:
// Particle[][] grid = ...
Particle[] g = grid[iy * gw + ix] ?? new Particle[];