콘텐츠로 이동

C# 코드

C#은 WebAssembly로 컴파일한 .NETRoslyn 스크립트 엔진으로 실행됩니다. 런타임은 Restorm에 내장되어 있으므로, 사용하는 컴퓨터에 .NET SDK를 설치할 필요가 없습니다.

심볼역할
input입력 포트로 받은 값
vars실행 변수를 담은 딕셔너리
Console.Write / Console.WriteLine실행 로그에 기록합니다
마지막 표현식그 값이 result 포트로 나갑니다

코드는 C# 스크립트(Roslyn 방식)입니다. 감싸는 클래스나 Main 을 쓸 필요가 없고, 문장이 최상위 수준에 놓이며, 마지막 표현식이 결과가 됩니다.

using System.Linq;
using System.Text.Json;
var doc = JsonDocument.Parse(input.ToString());
var commandes = doc.RootElement.GetProperty("commandes").EnumerateArray();
var payees = commandes
.Where(c => c.GetProperty("statut").GetString() == "payee")
.ToList();
var total = payees.Sum(c => c.GetProperty("montant").GetDouble());
Console.WriteLine($"{payees.Count} commandes payées, total {total}");
new { nombre = payees.Count, total }

.NET의 기본 클래스 라이브러리입니다. System.Linq, System.Text.Json, System.Text.RegularExpressions, System.Security.Cryptography, System.Collections.Generic 등입니다.

이미 C#으로 작성한 업무 로직을 재사용하고 싶을 때, 또는 팀이 C#에 더 익숙할 때 택할 언어입니다. 무언가를 호출해야 할 때 택할 언어는 아닙니다.