2

C# の匿名型のように。新しくローンチされた言語のタプルは、C# の匿名型でできることを Swift で実行できますか?

Swift を学習しているときに、次のようないくつかのステートメント (Tuples と呼ばれます) を見つけました。

let http200Status = (statusCode: 200, description: "OK")

そして、次のような方法でそれらにアクセスできます

println("The status code is \(http200Status.statusCode)")
// prints "The status code is 200"
println("The status message is \(http200Status.description)")
// prints "The status message is OK”

C# の匿名型とまったく同じように感じます。

SwiftのTupleはC#の匿名型の完全な代替品ですか? タプルと匿名型の比較を教えてもらえますか? 一方ではできて、他方ではできないこと。これまでのところ、C# では (オブジェクトでない限り) 匿名型を返すことはできませんが、Swift ではそれを行うことができることがわかりました。

4

1 に答える 1

2

Swift のタプルは、C# の匿名型とジェネリックTuple<T1, T2, ...>クラスのハイブリッドです。

C# の匿名型と同様に、Swift では、必要に応じてタプルの「プロパティ」に名前を付けることができます (ただし、これはオプションにすぎません)。

let result = (errorCode: 9001, message:"Power level too high!")

また、特定の値を取得するときに他の値を無視して抽出することもできます。

let (errorCodeOnly, _) = result

varSwift タプルの不変性はvsによって決定されることに注意することが重要letです。

let immutableCard = (suit: "Spades", rank: "Ace")
var mutableCard = (suit: "Hearts", rank: "Queen")

immutableCard.rank = "Jack"    // error, cannot set
mutableCard.rank = "Two"       // OK
于 2014-06-08T03:22:33.783 に答える