gpt4 book ai didi

c# - 在我的 C# 代码中使用 .NET 4.0 元组是一个糟糕的设计决策吗?

转载 作者:IT王子 更新时间:2023-10-29 03:30:43 26 4
gpt4 key购买 nike

加上 Tuple .net 4 中的类,我一直在尝试确定在我的设计中使用它们是否是一个糟糕的选择。在我看来,Tuple可以是编写结果类的捷径(我相信还有其他用途)。

所以这样:

public class ResultType
{
public string StringValue { get; set; }
public int IntValue { get; set; }
}

public ResultType GetAClassedValue()
{
//..Do Some Stuff
ResultType result = new ResultType { StringValue = "A String", IntValue = 2 };
return result;
}

等同于:

public Tuple<string, int> GetATupledValue()
{
//...Do Some stuff
Tuple<string, int> result = new Tuple<string, int>("A String", 2);
return result;
}

因此,抛开我错过元组要点的可能性,就是带有 Tuple 的示例一个糟糕的设计选择?对我来说,它似乎不那么困惑,但不像 self 记录和干净。这意味着类型 ResultType , 稍后很清楚类的每个部分的含义,但是您需要维护额外的代码。随着Tuple<string, int>您将需要查找并弄清楚每个 Item 是什么表示,但您编写和维护的代码更少。

如果您有过此选择的任何经验,我们将不胜感激。

最佳答案

如果您可以控制元组的创建和使用,那么它们会很棒 - 您可以维护上下文,这对于理解它们至关重要。

然而,在公共(public) API 上,它们的效率较低。消费者(不是你)必须猜测或查找文档,尤其是对于 Tuple<int, int> 之类的东西。 .

我会将它们用于私有(private)/内部成员,但将结果类用于公共(public)/ protected 成员。

This answer也有一些信息。

关于c# - 在我的 C# 代码中使用 .NET 4.0 元组是一个糟糕的设计决策吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3017352/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com