我有一个元组:将描述添加到每个元组对象?
var a = new Tuple<int, int, int>(1,2,3);
我的问题:
有什么办法(由/// remark
或别的东西),以一个简短的描述添加到对象类型?
第3 INT的可以混淆....
我怎么能知道物品1是指的“年龄”,而不是“数手指”?
我有一个元组:将描述添加到每个元组对象?
var a = new Tuple<int, int, int>(1,2,3);
我的问题:
有什么办法(由/// remark
或别的东西),以一个简短的描述添加到对象类型?
第3 INT的可以混淆....
我怎么能知道物品1是指的“年龄”,而不是“数手指”?
号的Tuple
类仅意在一种方法中内部使用;如果您打算公开提供数据,则应为每个值定义一个class
或struct
属性。
但是,如果您想为您的值赋予有意义的名称,则可以使用匿名类型。这些是约束(不只是打算)只能在方法内部使用。
var a = new { Name = "ABC", Age = 33, NumberOfFingers = 10 };
int age = a.Age;
编辑:如果你确信你想从你的方法返回一个元组,那么我的建议是你的方法的返回值的文档中解释其结构。
/// <summary>
/// Retrieves personal information about the person.
/// </summary>
/// <returns>
/// A tuple containing the following information:
/// <list type="bullet">
/// <item><see cref="Tuple{T1,T2,T3}.Item1"/>: The name of the person.</item>
/// <item><see cref="Tuple{T1,T2,T3}.Item2"/>: The age of the person.</item>
/// <item><see cref="Tuple{T1,T2,T3}.Item3"/>: The number of fingers the person has.</item>
/// </list>
/// </returns>
public Tuple<string, int, int> GetPerson()
{
return Tuple.Create("ABC", 33, 10);
}
如果您希望它显示在智能感知中,请将您的解释放在<summary>
中。
@dougles Ituples还可以用作函数的返回类型 - 所以我不需要在中间创建一个类。我可以写一个函数:'public tuple
它们是一个常规类型,就像任何其他类型一样,所以它们可以是返回值。然而,无论你是否应该将它们用于返回值,都是一个完全不同的主题。如果该方法是公共方法,则最好使用显式类。 – SWeko
@douglas我知道这些匿名类型。然而,我不能使用VAR作为函数的返回类型(只有动态),我的主要目标是有一个对象作为函数的返回类型。谢谢:) –
不,这是不可能的 - 你不能记录传入的参数。
这是使用Tuple
的一大缺点 - 值的含义很不透明。
我建议用有意义的名称编写一个类/结构,然后用它来代替。
你的代码不会编译。第四个参数是你正在传递的int产品 –
@HarisHasan固定。谢谢。 –
切换到F#并使用记录? ;) – TrueWill