• 瀏覽: 1,402
  • 回覆: 7
以下是一段Node.js程式碼,請問怎樣可以改成在C#環境執行並顯示結果呢?謝謝。

let s1 = [[[1,2,3],[4,5,6]],[[0,0,0],[0,0,0]]];

for (let i = 0; i < s1.length - 1; i++)
for (let j = 0; j < s1.length; j++)
for (let k = 0; k < s1[j].length; k++)                         s1[1][j][k] = (s1[j][k]<<1)-(s1[j][k]*2-s1[j][k];

let result = s1.reduce((i,j)=>i+j.reduce((i,j)=>i+(j.reduce((i,j)=>i+j,0)),0),0); console.log(result);



是否 功課 來? 自己做啦....
不想做 就 退學 或 轉系 吧!!

[ 本帖最後由 toylet 於 2023-9-22 20:02 編輯 ]



又浪費token
以下是將該段Node.js程式碼轉換為C#程式碼的版本:

```csharp
int[][][] s1 = new int[][][] { new int[][] { new int[] { 1, 2, 3 }, new int[] { 4, 5, 6 } }, new int[][] { new int[] { 0, 0, 0 }, new int[] { 0, 0, 0 } } };

for (int i = 0; i < s1.Length - 1; i++)
for (int j = 0; j < s1.Length; j++)
for (int k = 0; k < s1[j].Length; k++)
s1[1][j][k] = (s1[j][k] << 1) - (s1[j][k] * 2 - s1[j][k]);

int result = 0;
foreach (var i in s1)
foreach (var j in i)
foreach (var k in j)
result += k;

Console.WriteLine(result);
```

請注意,這段程式碼假設你的3D陣列是均勻的,也就是說,每個2D陣列都有相同數量的1D陣列,並且每個1D陣列都有相同數量的元素。如果不是這樣,你可能需要進一步修改程式碼以適應你的實際情況。

另外,原始的Node.js程式碼中的那個運算式`(s1[j][k]<<1)-(s1[j][k]*2-s1[j][k]`似乎有語法錯誤,我在C#版本中假設它應該是`(s1[j][k] << 1) - (s1[j][k] * 2 - s1[j][k])`。如果這不是你想要的,請根據你的需求進行修改。



小心 直接 字過字 翻譯 不是 最好的方法! 睇 目的 了!


[隱藏]
引用:
原帖由 toylet 於 2023-9-22 19:54 發表

是否 功課 來? 自己做啦....
不想做 就 退學 或 轉系 吧!!
不是功課啦



引用:
原帖由 Zzlaz 於 2023-9-22 20:25 發表

又浪費token
以下是將該段Node.js程式碼轉換為C#程式碼的版本:

```csharp
int[][][] s1 = new int[][][] { new int[][] { new int[] { 1, 2, 3 }, new int[] { 4, 5, 6 } }, new int[][] { new int[] { 0, 0, 0 }, new int[] { 0, 0, ...
好眼力!*2後面是有個)的。



引用:
原帖由 kormer 於 2023-9-22 10:15 PM 發表

好眼力!*2後面是有個)的。
chatGPT好眼力



引用:
原帖由 Zzlaz 於 2023-9-23 00:01 發表

chatGPT好眼力
似乎有點假手於人啊?面試/見客時都可以用chatgpt過關嗎?