Kann ich jeden Wert in einem Array zu separaten Variablen in einer Zeile in C# zuweisen? Hier ist ein Beispiel in Ruby-Code von dem, was ich will:
irb(main):001:0> str1, str2 = ["hey", "now"]
=> ["hey", "now"]
irb(main):002:0> str1
=> "hey"
irb(main):003:0> str2
=> "now"
Ich bin nicht sicher, ob das, was ich will, in C# möglich ist.
Edit : Für diejenigen, die vorschlagen, dass ich die Zeichenketten "hey" und "now" einfach Variablen zuweise, ist das nicht das, was ich will. Stellen Sie sich das Folgende vor:
irb(main):004:0> val1, val2 = get_two_values()
=> ["hey", "now"]
irb(main):005:0> val1
=> "hey"
irb(main):006:0> val2
=> "now"
Nun ist die Tatsache, dass die Methode get_two_values
zurückgegebenen Zeichenketten "hey" und "now" ist willkürlich. Es können zwei beliebige Werte zurückgegeben werden, die nicht einmal Zeichenketten sein müssen.
4 Stimmen
Wow, hässlich und verwirrend. Erinnert mich an mein letztes Date.
3 Stimmen
@Will: Really? Ich denke, es ist schön und prägnant, aber trotzdem klar und lesbar. Ich mag die Funktion in Python sehr und verwende sie häufig.
1 Stimmen
Aus Sicht von C# auf jeden Fall. Es sieht so aus, als würden Sie einen Verweis auf ein einzelnes Array zwei verschiedenen Variablen zuweisen... wie str1 = new string[] {"one", "two"}; str2 = str1; Also ist es für C#-Entwickler sofort verwirrend. Der hässliche Teil war nur, damit ich den Witz unterbringen konnte.
5 Stimmen
Vielleicht, wenn C# ist Ihre einzige Sprache, dann ja, ich nehme an, es sieht ein bisschen hässlich. Vielleicht sollten Sie darüber nachdenken, Ihren Horizont zu erweitern? Wie auch immer, obwohl ich nie in Ruby entwickelt habe, habe ich eine Menge in Python getan, so dass diese Aufgabe ist nicht neu für mich überhaupt. Es sieht aus wie eine einfache Tupel-Erstellung und ein Entpacken (auch Tupel-Zuweisung genannt). Obwohl Ruby offenbar Klammern [] statt Parens () wie Python verwendet, ist es ansonsten syntaktisch identisch. Aufgrund der Kommentare von @Sarah gehe ich davon aus, dass es identisch funktioniert.
0 Stimmen
Ich glaube, Will bezieht sich auf den Befehlszeilenteil des Beispiels. Da ich noch nie mit Ruby gearbeitet habe, war ich selbst etwas verwirrt. Die Aufgabe selbst ist kurz, klar und gut lesbar.