2014-09-30 49 views
0

我試圖將我餘數的值存儲在字符串變量collect中。我不確定如何在程序迭代循環時向字符串添加字符。我還沒有學會如何使用數組,所以我試圖把它存儲爲一個字符串類型。如何在不覆蓋以前的字符的情況下將字符添加到循環中的字符串中?存儲餘數值

int quotient = integer/2; 
int remainder = integer % 2; 
int temp = remainder; 

Console.WriteLine(remainder); 

while(quotient >= 2); 
{ 
    integer = quotient; 
    quotient = integer/2; 
    remainder = integer % 2; 

    string collect = string.Format("{0}{1}",temp,remainder); 
} 
+2

爲什麼要將餘數保存在字符串中? – 2014-09-30 00:56:58

+0

你想使用'StringBuilder.Append' – EricLaw 2014-09-30 00:56:59

+0

以及它不必在一個字符串,但我沒有看到任何其他基本類型來保存它。我還沒有學習StringBuilder,所以我想以某種方式做到這一點與基本類型(即int,double,string,char等......) – Ashwin 2014-09-30 01:01:57

回答

0

跳過爲什麼你想這樣做,如果你要做一些字符串操作,做到這一點的最好辦法是使用一個StringBuilder,做這樣的事情

StringBuilder sb=new StringBuilder(); 
while(condition){ 
    //Stuffs 
    sb.Append("StuffsYouWantToAppend"); 
} 
string output=sb.ToString(); 

一個更簡單的方法是隻是做:

String collect=String.Empty; 
while (condition) 
    //Stuffs 
    collect+="StuffsYouWantToAppend"; 
} 

它不會是最好這樣做,因爲這是自從〜應變一種不好的做法gs是不變的,你不會改變它,但只是創建一個新的。

+0

寫作collect + =「something」與寫作collect = collect +「something」相同,意思是:創建一個新的字符串,以舊字符串開頭,後跟新提供的字符串。 – 2014-09-30 01:31:37

0

你可能想用StringBuilder來代替。

String result; 
StringBuilder sb = new StringBuilder(your_length); 

while(quotient >= 2); 
{ 
     integer = quotient; 
     quotient = integer/2; 
     remainder = integer % 2; 

     sb.Append(temp+ " " + remainder); 
} 

result = sb.ToString();