2013-05-07 53 views
1

我有一個方法將字符串傳遞給一個類。出於測試原因,我現在已經使用了一個按鈕。 我在論壇上搜索了類似的問題,但他們提到了PHP和其他我無法理解的情況。 該類從字符串中去掉幾個字符,並根據標題將值分配給3個不同的字符串。我需要將這3個字符串返回給調用者,並將其編碼如下。從一個類返回多個值到方法

來電:

private void button4_Click(object sender, EventArgs e) 
    { 
    string a, b, c; 
    string invia = textBox8.Text.ToString(); 
    Stripper strp = new Stripper(); 
    strp.Distri(invia, out a, out b, out c); 
    textBox7.Text = a; 
    textBox7.Text = b; 
    textBox7.Text = c;} 

類:

class Stripper 
{ 

public void Distri (string inArrivo, out string param1, out string param2, out string param3) 

    { 
     string corrente=""; 
     string temperatura=""; 
     string numGiri=""; 
     string f = inArrivo; 
     f = f.Replace("<", ""); 
     f = f.Replace(">", ""); 

     if (f[0] == 'I') 
     { 
     string _corrente = f; 
      _corrente = _corrente.Replace("I", ""); 
      corrente = _corrente; 
     } 
     else if (f[0] == 'T') 
     { 
     string _temperatura = f; 
      _temperatura = _temperatura.Replace("T", ""); 
       temperatura = _temperatura; 
     } 
     else if (f[0] == 'N') 
     { 
     string _numGiri = f; 
      _numGiri = _numGiri.Replace("N", ""); 
      numGiri = _numGiri; 
     } 
     param1 = corrente; 
     param2 = temperatura; 
     param3 = numGiri; 
     } 
     } 
     } 

的代碼工作沒有問題,但我不知道這是否是實現多值從類返回的正確方法。有沒有更好的辦法?

回答

5

我想創建類是在這種情況下

public class MyClass 
    { 
     public string Corrente { get; set; } 
     public string Temperatura { get; set; } 
     public string NumGiri { get; set; } 
    } 

然後

public MyClass Distri(string inArrivo) 
{ 
    // your code 

    MyClass myclass = new MyClass() { 
     Corrente = corrente, 
     NumGiri = numGiri, 
     Temperatura = temperatura 
    }; 
    return myclass; 

} 

這是你如何可以調用

Stripper strp = new Stripper(); 
MyClass myclass = strp.Distri(invia); 

//訪問值如下更好

textBox7.Text = myclass.NumGiri; 
+2

+1,絕對是一個更好的選擇。 – Habib 2013-05-07 05:32:31

+0

謝謝,我應該如何改變調用者來獲取這些值? – FeliceM 2013-05-07 05:32:40

+0

非常感謝。完全理解。 – FeliceM 2013-05-07 06:05:34