세미콜론이없는 가장 짧은 Hello World 프로그램


14

최근에 C #을 사용하여 세미콜론을 사용하지 않고 Hello World 프로그램을 만들 수 있는지 묻는 SO에 대한 몇 가지 질문이 있습니다. 문제는이 작업을 다시 수행하는 것이지만 가능한 한 짧은 코드로 수행하는 것입니다!


3
나는 이것이 언어 특정 과제라고 생각합니까? 그렇지 않으면이 작업이 사소한 많은 언어가 있습니다. (예를 들어, HQ9 + 는 쉽게 이길 수 있지만 'Hello World'유효한 GolfScript 프로그램입니다 .)Hello World
Ilmari Karonen

@llmari 죄송합니다. 질문이 업데이트되었습니다. C # 태그를 지정했지만 존재하지 않으며 만들 담당자가 없습니다. 감사합니다.
발리 C

답변:


12

C #, 76

class X{static void Main(){if(System.Console.Write("Hello, World!")is X){}}}

VS2012 에서이 작업을 시도했지만 is연산자를 적용 할 수 있다는 것은 놀라운 일이지만 잘 작동합니다 void...


15

C # 85 자

class H{static void Main(){if(System.Console.Out.WriteAsync("Hello, world!")is H){}}}

어떤 .NET 버전입니까? .NET 4 에는 TextWriter.WriteAsync ()에 대한 정의가 포함되어 있지 않습니다.
primo

3
@primo .NET 4.5 는 않습니다.
Bob

12

C # (114)

class M{static void Main(){if(typeof(System.Console).GetMethods()[78].Invoke(null,new[]{"Hello, world!"})is M){}}}

Write(string)/에 대한 올바른 색인은 WriteLine(string)시스템에서 다를 수 있습니다. 단, 106 방법은 내가 거의 확신 하나,이 때문에 이것을 합계 있습니다 Write(string)또는 WriteLine(string)문자 수는 일반적으로 유효해야하므로, 모든 시스템에서 두 자리 인덱스 번호 될 것입니다.

데모 : http://ideone.com/5npky ( Write여기에서 방법은 분명히 색인 23입니다)


이 솔루션은 훌륭합니다. +1
primo

나는 또한 함께 퍼팅 후,이 나왔다 정확히 1 당신보다 짧은 문자 : 아이러니라고 생각
mellamokb

7
로 변경 null하여 3자를 저장할 수 0있습니다. 좋은 문자 수를 얻으십시오 111 :)
Timwi

8

115 바이트

class H{static void Main(){if(((System.Action)(()=>System.Console.Write("Hello, world!"))).DynamicInvoke()is H){}}}

조금 더 짧은 것을 생성하는 것이 가능할 수도 있지만, 일종의 비동기식 호출이 필요할 것이라고 확신합니다.


4

C # 96 95 94 자

약간의 속임수이지만 IronRuby가 설치되어 있으면 작동합니다.

class P{static void Main(){if(IronRuby.Ruby.CreateEngine().Execute("puts'Hello World'")>1){}}}

2
==한 문자 비교 연산자 로 바꾸어 1 개의 문자를 저장할 수 있습니다 .
피터 테일러

@PeterTaylor 코드를 업데이트했습니다. 이 큰 제안에 감사드립니다!
Cristian Lupascu

또한 puts문자열 사이의 공백을 제거했습니다 . puts'Hello World'유효한 루비 코드
Cristian Lupascu
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.