【发布时间】:2009-09-29 03:16:17
【问题描述】:
我想知道是否有任何语言允许命名元组。即:具有多个不同类型和可配置名称的变量的对象。
例如:
public NamedTuple<double:Speed, int:Distance> CalculateStuff(int arg1, int arg2)
var result = CalculateStuffTuple(1,2);
Console.WriteLine("Speed is: " + result.Speed.ToString())
Console.WriteLine("Distance is: " + result.Distance.ToString())
我可以想象动态如何支持这样的功能。我通常使用的静态语言(如 c#)可以做一个字典,但除非所有项目都属于同一类型,否则这不是类型安全的。或者您可以使用 Tuple 类型,但这意味着您有固定的成员名称(Var1、Var2 等)。
您也可以编写一个小的自定义类,但这是我想避免的情况。
我可以想象一种宏处理语言可以用静态语言为您编写类似的脚本,但我不知道这种语言。
这来自我对this question about return types的回答。
【问题讨论】:
-
我想避免自定义类/结构的原因是我不喜欢打字!仅此而已。
-
这一行应该不包括元组。 var 结果 = CalculateStuffTuple(1,2);
标签: c# return-value tuples