0

これは私のクラスにある私のメソッドです

public void tostringmeth(string concat)
    {
      // string concat;
        string markstring;
        string matricstring;

        markstring = "";
        matricstring = "";

        Mark.ToString(markstring);
        Matric.ToString(matricstring);


       concat= FirstName + " " + SecondName + " " + DoB+ " " + Course+ " " + markstring + " " + matricstring ;

        return;

基本的に、「concat」変数をメインフォームに返して使用できるようにする必要があります(ラベルに表示するだけです)。アクセスできるようにするにはどうすればよいですか?パブリック文字列を宣言すると、何らかの理由でエラーがスローされます。編集:私は今それを手に入れました、それは非常に明白で愚かな間違いでした(公共のSTRINGは無効ではありません!). みんな、ありがとう!

4

5 に答える 5

4
public string tostringmeth(string concat)
{
    // do your thing

    return concat;
}

そしてあなたの形で:

MyLabel.Text = tostringmeth(myConcatString);
于 2012-10-19T23:32:24.500 に答える
1

メソッドに concat フィールドを渡していますが、そこに含まれる値は何もしていません。メソッドに渡す理由はありません。私はこのようなことをします:

public string tostringmeth() 
{ 
    string markstring; 
    string matricstring; 

    markstring = ""; 
    matricstring = ""; 

    Mark.ToString(markstring); 
    Matric.ToString(matricstring); 


   return FirstName + " " + SecondName + " " + DoB+ " " + Course+ " " + markstring + " " + matricstring ; 

}
于 2012-10-19T23:36:28.050 に答える
1

2 つのオプション:
1 つ目は、より適切なオプションで、目的の文字列値を返します。(メソッドロジックを少し単純化しました)

  public string tostringmeth()    
  {    
       return FirstName + " " + SecondName + " " + 
             DoB + " " + Course + " " +
             Mark.ToString(string.empty) + " " + 
             Matric.ToString(string.empty);
  }

次に、メソッドの入力パラメーターを変更します (メソッドのパラメーターを ref として宣言する必要があります)。

  public void tostringmeth(ref string concat)    
  {    
       concat = FirstName + " " + SecondName + " " + 
             DoB + " " + Course + " " +
             Mark.ToString(string.empty) + " " + 
             Matric.ToString(string.empty);
  }
于 2012-10-19T23:41:21.673 に答える
1

それらは2つの簡単な方法です。最初に私は最も単純だと思います... すでに言われている2番目も単純です:)

public string stVar; // It will not give error. because it is not in any function 
                   //it is in the scope of class. In this way no need to return

修飾子 (public/private など) は、メソッド (関数) の変数では使用できません。それらは、クラス メンバー (関数ブラケットから宣言されたクラス変数) で簡単に使用できます。

public void tostringmeth(string concat)
{
  // string concat;
    string markstring;
    string matricstring;

    markstring = "";
    matricstring = "";

    Mark.ToString(markstring);
    Matric.ToString(matricstring);


   stVar= FirstName + " " + SecondName + " " + DoB+ " " + Course+ " " + markstring + " " + matricstring ;

}

2番目の方法はすでに述べた

public string tostringmeth(string concat)
{
  // string concat;
    string markstring;
    string matricstring;

    markstring = "";
    matricstring = "";

    Mark.ToString(markstring);
    Matric.ToString(matricstring);


   concat= FirstName + " " + SecondName + " " + DoB+ " " + Course+ " " + markstring + " " + matricstring ;
  return concat;
}
于 2012-10-19T23:50:39.587 に答える
0

何かを返す関数は非 void 型でなければなりません。

// void function cant return anything
public void tostringmeth(string inputParameter)
{
    return; // returns nothing 
}


// string function can return string
public string tostringmeth(string inputParameter)
{
     // string function can return string

     string outputParameter = something;
     return outputParameter; // returns variable value
}
于 2012-10-20T00:22:14.900 に答える