2013-05-07 2 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; 
     } 
     } 
     } 

이 코드는 문제없이 작동하지만이 클래스에서 여러 값의 반환을 달성하는 올바른 방법 인 경우 I는 확실하지 않다. 더 좋은 방법이 있습니까? 내가 클래스를 만들 생각

답변

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

+0

감사합니다. 발신자를 변경하여 그 값을 어떻게 변경해야합니까? – FeliceM

+0

고마워요. 완전히 이해했다. – FeliceM