【发布时间】:2019-03-26 01:12:58
【问题描述】:
我是 C# 新手,习惯了 Swift,所以请多多包涵。
我想完全按照下面的 Swift 代码描述的方式在 C# 中使用类型:
typealias Answer = (title: String, isCorrect: Bool)
typealias Question = (Question: String, Answers: [Answer])
再举个例子,现在使用上面的typealias's 在 swift 中创建一个Question 非常简单:
Question(Question: "What is this question?", Answers: [("A typedef", false), ("FooBar", false), ("I don't know", false), ("A Question!", true)])
到目前为止,我已经尝试使用 using 语句并创建抽象类无济于事。
提前致谢。
【问题讨论】:
-
澄清一下,因为我不是一个 Swift 人,上面的 Swift 代码实际上是创建一个类型,而不是为现有类型设置别名吗?
-
抱歉,我应该改写我的问题;
typealias不会创建任何新类型,它只是为类型或类型排列提供新名称。 -
你能解释一下:“类型的排列”吗?
-
您可能会发现这个(接近但不完全重复)问题的答案很有用stackoverflow.com/questions/9257989/defining-type-aliases
-
@John 我不知道该怎么称呼它;我指的是
typealias,就像问题中的那样,其中有多种类型分配给一个别名,例如问题中的第一个typealias包含一个字符串和一个布尔值,它们是有序的;因此typealiasAnswer实际上是两种类型。再次为我的不明确表示歉意; click here for a professional definition