繁体   English   中英

如何将此JavaScript行转换为C#?

[英]How do I convert this javascript line to c#?

我了解该行的第一部分,但是我不确定||之后的那一部分。 确实。 谁能告诉我如何将此行转换为C#?

var g = grid[iy * gw + ix] || [];

原始资料在这里。 http://www.dhteumeuleu.com/aqualibrium/source

这是逻辑上的,或基本上等同于C#的空合并运算符?? 它向左解析,如果左为false ,则向右解析。

一个警告是,由于Javascript的动态键入,这种情况不像C#那样明确。 || 强制将左侧的值转换为布尔值,并且最终会有各种值转换为false 例如,Javascript将所有这些评估为“其他”:

* false || 'other';
* 0 || 'other';
* '' || 'other';
* undefined || 'other';

如评论|| 与合并运算符??的c#等效。 并且[]是一个空数组。

在这种情况下, grid是粒子阵列的阵列。 C#等效代码为:

// Particle[][] grid = ...

Particle[] g = grid[iy * gw + ix] ?? new Particle[];

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM