2014-11-03 1 views
-4

출력에 각 문자 사이에 공백이 있어야 '와 유사해야합니다. . emanruoys itah의 W '가 아니라 "는 emanruoysitahw처럼'어떻게 내가 이미 작성한 코드로이 작업을 수행 할 덕분에 어떤 도움을C# 스페이스 바를 사용하지 않고 각 문자 사이에 공백을 넣는 방법

using System; 


namespace strings 
{ 
    class Program 
    { 
     static void Main(string[] args) 

     { 
      string inString= "What is your name?",outString=""; 

      foreach(char c in inString) 
      { 
      outString = c + outString; 
      } 
      { 
      Console.WriteLine("" + outString); 
      } 

     } 
    } 
} 
+6

당신은 지금까지 시도 무엇? Google은 사용자의 코드에서 문제를 해결하고 사용자의 요구 사항을 따르지 않고 코드를 작성하지 않습니다. – Chris

+1

이 숙제가 있습니까? –

+0

[공백 문자가 여러 개 포함 된 문자열을 만드는 ""에 대한 대안] 중복 가능 (http://stackoverflow.com/questions/1716230/alternatives-to-for-creating-strings-containing-multiple-whitespace-characte) – JMK

답변

1

부적절한 (비효율적) 방법은 우리의 대부분은 사용 :..

outString += c + "\x26"; 

적절한 (아직 비효율적) 방식으로 우리의 대부분 하지 말자 사용 :

outString.Insert(c + "\x26"); 

적절한 및 EFF 똑똑한 방법 스마트 프로그래머가 사용

var s = new StringBuilder(); 
s.append(c + "\x26"); 
outString = s.ToString(); 

대기. 스페이스 바를 가지고 계시지 않습니까? 이것을 사용하십시오 :

StringBuilder(s)=new 
StringBuilder(); 
s.append(c+"\x26"); 
outString=s.ToString(); 

어쨌든 이것은 실제 상황입니다.

+2

특히 문자열에 불확정 길이가 있기 때문에'StringBuilder'를 사용하여 해당 경로를 따라 가면 문자열 연결을 피할 수 있습니다 ... – Joeb454

+0

모양이 맞으면 바로 대답하는 것이 좋습니다. 숙제 문제. 대신 문제를 해결하는 방법을 설명하기 전에 문제를 해결하려고 시도했는지 확인해야합니다. – mason

+0

@ Joeb454 나는 동의한다. 그러나 OP는 ** space **를 문자열에 추가하는 방법을 모른다. – DividedByZero

6

당신은 할 수 :

outString = string.Join(" ", input.ToCharArray()); 
+1

+1. (아주 심각하지는 않은) "스페이스 바 없음"과 일치하는 유일한 개선점은''''을''\ x20 "':)으로 대체하는 것일 수 있습니다. - 전체 프로그램을 공백없이 눌러서 입력 할 수 있습니다. –