2013-02-27 1 views
-3

질문이 있습니다. 현재로서는 응용 프로그램에 꼭 필요한 것은 아니지만 단지 궁금했습니다.MessageBox 또는 WriteLine에 문자열 만들기

문자열을 만들고 WriteLine 또는 Messagebox.Show의 괄호 사이에 채울 방법이 있습니까? 코드는 다음과 같이 보일 것이다

내 생각 :

MessageBox.Show(String s = string.Format("Hello World")); 

내 유일한 질문는 올바른 코드입니다하지 않습니다 그 : 그 수 같은가요?

+0

당신이 설명한 경우가 더 좋을 수도 ** 왜 **와 ** ** 당신은 가능한 겉으로 부조리 솔루션에 대한 요구보다는 달성 무슨 희망 . =) –

+0

코드가 더 작음 – Max

+0

제시된 예제는 의미가 없으므로 컴파일하지 않고 정확히 무엇을 요구하는지 명확하지 않으므로 질문에 요구 사항을 추가해야합니다. –

답변

7

그런 호출 내에서 문자열을 선언 할 수 있습니다. 그러나 당신은 그것을 지정할 수 있습니다.

string s = string.Empty; 
MessageBox.Show(s = string.Format("Hello World")); 

functioncall 안에 문자열을 선언 할 수 있으면 다른 곳에서 볼 수 없습니다. 따라서 언어에서이 기능을 사용하는 것은 의미가 없습니다.

+0

그래, 고마워,하지만 거기에 괄호 사이에 문자열을 만드는 방법이 아닌가요? – Max

+2

참고 : 통화 중에 문자열을 선언하지 않습니다. 너는 그것을 지정하고있다. 할당의 반환 값이 할당 된 변수이기 때문에 작동합니다. –

+0

@Evelie가 게시물을 편집 해 주셔서 감사합니다. 왜 그렇게 할 수 없습니까? – Max

0

당신은 문자열을 반환하는 도우미 메서드를 정의 할 수 한 줄에 모두 작성할 수 있습니다 Evelie의 대답에 대한 대안 :

public static string ShowMsg(string msg) { 
    MessageBox.Show(msg); 
    return msg; 
} 

그리고 당신의 코드가 될 것이다 :

string s = ShowMsg("Hello World"); 

또는

string s = ShowMsg(string.Format("Now is {0}.", DateTime.Now)); 

그리고 도우미 방법으로도 서식을 지정할 수 있습니다.

public static string ShowMsg(string format, params object[] args) { 
    string mgs = string.Format(format, args); 
    MessageBox.Show(msg); 
    return msg; 
} 

그리고로 사용 :

string s = ShowMsg("Now is {0}.", DateTime.Now);