【发布时间】:2019-10-22 14:18:59
【问题描述】:
我有盒装元组:
(int, string) tuple = (1, "abc");
object box = tuple;
如何从box获取元组?将object 转换回元组的正确语法是什么?
我的尝试:
var deconstruct = (int, string)box;
显然是错误的:
错误 CS1525 无效的表达式术语 'int'
错误 CS1525 无效的表达式术语“字符串”
错误 CS1002 ;预计
错误 CS0201 只有赋值、调用、递增、递减、等待和新对象表达式可以用作语句
【问题讨论】:
-
你试过 (int, string) deconstruct = (int, string)box;
-
强制转换的语法是
(type) expr。元组的类型是(int, string)。尔格:((int, string)) box. -
@JeroenMostert,在看到答案很明显之后,我不知何故被已经有一套护腕蒙蔽了。
-
它不是最易读的语法,尽管它遵循逻辑模式——我们可以责怪 C 首先引入了强制转换语法(元组语法似乎很好)。