C#을 스크립팅 언어로 사용하는 방법

7405 단어 .NETCoreC#.NET

소개


C#er 형은 인생에서 한 번은
C# 인터프리터 언어처럼 다룰 수 있다면 얼마나 좋았을까요?

라고 생각한 적이 있을 것이다.

그것, 할 수 있어요.

소개



전제


  • .NET Core 3.x 이상이 도입되는 것이 바람직하다
  • 물론 C#er 형은 문제 없지? !

  • VSCode 도입됨 및 C#プラグイン 도입됨

    dotnet-script 설치



  • 다음 명령 실행

    powershell
    dotnet tool install -g dotnet-script
    

  • 이상, 종료

  • 사용법



    그 1:쉘에서 사용



    예제는 Powershell

  • 다음 명령 실행

    powershell
    dotnet script
    


  • 인터프리터 환경이 시작되므로 나중에 선호합니다.

    powershell
    Console.WriteLine("Hello, World!!");
    

    실행 결과


  • 그냥 표시하고 싶다면 dotnet
    powershell
    "Hello, World!!"
    

    실행 결과


  • 물론 변수에 저장된 값의 확인도 마찬가지로 가능

    powershell
    var msg = "Hello, World!!";
    msg
    

    실행 결과

  • Console.WriteLine() 라고 하면 .NET !! 물론 대응

    powershell
    #r "nuget: Utf8Json"
    var json = @"{ ""key"":100 }";
    var data = Utf8Json.JsonSerializer.Deserialize<dynamic>(json);
    data["key"]
    

    실행 결과


  • 2 : NuGet에서 사용하기 / 단일 파일


  • VSCode 파일을 만들고 .csx에서 열기

    powershell
    New-Item main.csx
    code ./main.csx
    


  • 우선 VSCode
    main.csx
    Console.WriteLine("Hello, World!!");
    
    // .csxだと直値を出力とかはできない. 以下はエラーとなるので注意.
    // "Hello, World!!"
    


  • 실행해보기

    powershell
    dotnet script ./main.csx
    

  • Hello, World!!
    main.csx
    #r "nuget: Utf8Json"
    var json = @"{ ""key"":100 }";
    var data = Utf8Json.JsonSerializer.Deserialize<dynamic>(json);
    Console.WriteLine(data["key"]);
    

    실행 결과


  • 그 3: NuGet 에서 사용 / 인텔리센스를 효과 있게 한다



    두 가지 방법으로 충분하다면 충분하지만 VSCode그러므로 인텔리센스를 적용한 방법도 소개해 둔다.

  • 적절한 위치에 폴더를 만들어 インテリセンスのない C# なんて C# じゃない!!
    powershell
    mkdir ./work
    dotnet script init
    code .
    

    실행 결과

  • 인텔리센스가 효과가 있다!
  • C#スクリプトプロジェクト 심지어 NuGetパッケージ 를 열어두면 인텔리센스가 효과가 있도록! !

    main.csx
    // 以下を追記して、VSCodeで開きなおす
    #r "nuget: Utf8Json"
    

    실행 결과

    ※인텔리센스가 작동하기까지 시간이 걸리는 경우가 있습니다

  • 더 자세히!



    공식 사이트 를 읽는다! !

    결론



    VSCode 는 이것으로 확실히 개발! 보다는, 비교적 단편적인 코드의 동작 확인을 위해 이용하고 있습니다.
    스크립트 이용한다면 dotnet-script 쪽이 꽤 우수하다고 생각합니다.

    단지, 실용에 견딜 수 있는 레벨의 것이므로 동돈 사용해 가도 좋은 것은 아닌가? 라고 생각합니다.

    이상, 폐정! !

    좋은 웹페이지 즐겨찾기