2013-12-10 105 views
-3

我有一個「自動生成」隨機數字方法,並將值存儲到字符串中。我需要將該變量的值顯示在mail.Body屬性中。 這是我不得不產生隨機數的代碼:C#如何將包含值的變量包含到電子郵件正文中作爲電子郵件發送

String id = " "; 
Random rnd = new Random(); 

for(int a = 0; a <8; a++){ 
    id += rnd.Next(0,9); 
} 

這是我的郵件正文:

string Body = "Your New Value is " + id ; 
mail.Body = Body; 

但是我收到的電子郵件中只包含「您的新價值」爲Body,沒有自動生成的值。

我能做些什麼來解決這個問題?謝謝!

+4

你試過運行這個例子嗎?如果你修正了編譯器錯誤(在第1行添加分號,將第5行的'{'改爲'}'),它只是按預期工作。請顯示實際上再現問題的工作代碼。 – CodeCaster

+0

它沒有足夠的代碼片段來查找錯誤。 – Arshad

回答

1

試試這個C#-Code

Random rnd = new Random(); 
System.Text.StringBuilder result = new StringBuilder(); 

for (int a = 0; a < 8; a++) 
{ 
    result.Append(rnd.Next(0,9)); 
} 
mail.Body = string.Format("Your New Value is '{0}'", result.ToString()); 

您的代碼並沒有因爲線id += rnd.Next(0,9);的工作。您嘗試將int連接到一個字符串。 它應該與這id += rnd.Next(0,9).ToString(); 請不要使用'+'運算符或'+ ='運算符來連接字符串。改用StringBuilder。

+0

這工作完美!非常感謝! – user3081935

0

嘗試string.Format

string Body = string.Format("Your New Value is {0}", id); 

而且,你肯定id包含你的期望?

上電話號碼的呼叫發電機可能.ToString()幫助:

String id = string.Empty; 
Random rnd = new Random(); 

for(int a = 0; a <8; a++){ 
    id += rnd.Next(0,9).ToString(); { 

另外,+ =每次將字符串...這是你想要做什麼?

0
public class GenerateRandomNum 
{ 
    private static string id = ""; 

    public static string RandomNum() 
    { 

    Random rnd = new Random(); 

    for(int a = 0; a <8; a++) 
     { 
     id +=(string)rnd.Next(0,9); 
     } 
    } 
} 

class TestRandom 
{ 
    public static void Main() 
    { 
     string Body = "Your New Value is " + GenerateRandomNum.RandomNum(); 
     mail.Body = Body; 

    } 
} 

希望這將幫助你

相關問題