Gewusst wie: zurückgeben einer Zeichenfolge aus einer Methode
Wie kann ich wieder ein Wert als text statt void
?
Beispiel:
private void button1_Click(object sender, EventArgs e)
{
label1.Text = myvoid("foo", true);
//Error, Cannot imlicity convert type void to string
}
public void myvoid(string key , bool data)
{
if (data == true)
{
string a = key + " = true";
MessageBox.Show(a); //How to export this value to labe1.Text?
}
else
{
string a = key + " = false";
MessageBox.Show(a); //How to export this value to labe1.Text?
}
}
Wie kann ich diesen Wert aus einer Methode, die void zurückgibt, anstatt zu zeigen, eine Meldung, und wenden Sie es auf label1.Text
?
== true
== schlecht- Ich sehe die
void
- nun, nicht zurück, eine leere, einen string zurückzugeben.. !!
Du musst angemeldet sein, um einen Kommentar abzugeben.
Auch Ihre Methode sollte nicht aufgerufen werden
myvoid
mehr, da es tatsächlich einen Wert zurückgibt. So etwas wieFormatValue
wäre besser..ToString()
auf diedata
?+
sollte sich darum kümmern, dass+
zu concat strings, die der operator überladen Griffe AufrufToString()
.mystring
jetztAls Austin erwähnt im Kommentar, dies würde mehr sauber
return string.Format("{0} = {1}", key, data);
label1.Text = MessageBox.Show(myvoid("foo", true))
falsch istÄndern Sie den Rückgabetyp auf string
string a
vor der if-Anweisung...müssen Sie ändern Sie den Rückgabetyp der Methode string
wie diese :
public string myvoid(string key , bool data)
und dann den string a;
wie diese:
Verwendung von String zurück geben
Wenn Sie wana-stick mit der leere, die Sie tun können diese
Check-out http://msdn.microsoft.com/en-us/library/t3c3bfhx(v=vs. 80).aspx.
Wenn Sie wirklich wollen, zu einem
void
verwenden, können Sie dieout
Prädikat für diese.out
+void
ist wirklich einfach nur schlechter Stil (und ich würde vorstellen, es ist Aufwand auch)out
Prädikat zu, Sie können es nicht verwenden mit Eigenschaften wielabel1.Text
haben, müssten Sie eine Zeichenfolge erstellen, senden Sie es in der Methode, und legen Sie dannlabel1.Text
.label1.Text
mit einem sich von der Methode sowieso, also warum gehen durch alle die Mühe?