gpt4 book ai didi

c# - 的目的

转载 作者:太空宇宙 更新时间:2023-11-03 17:07:59 25 4
gpt4 key购买 nike

老实说,我不知道他们叫什么。我一直无法在 Internet 上找到文章。

所以我知道你可以这样做:

public struct Pair<T, U>
{
public readonly T Value1;
public readonly U Value2;

public Pair(T fst, U snd)
{
this.Value1 = fst;
this.Value2 = snd;
}
public override String ToString()
{
return "(" + Value1 + ", " + Value2 + ")";
}
public Pair<U, T> Swap()
{
return new Pair<U, T>(Value2, Value1);
}
}

也可以是 class 而不是 struct

但我很困惑,目的是什么?某种性能提升?据我了解,您可以使用这些东西(抱歉,这个东西叫什么名字?)来保存值。但是你不会总是知道它应该保存什么样的数据吗?例如:如果你有一个产品需要存储,你只需要做一个产品类。由于您正在设计代码,因此您自然会知道它需要保存什么样的数据。

是的,我想我的问题是:这样做的目的是什么,与普通对象相比有什么优势;你会指定更多

我想我没说清楚。我也想知道:是否有充分的理由来创造像上面这对这样的东西?比方说,一个更具体的对象,例如将您的产品数据存储在一个产品对象中,而不是一些可以包含所有内容的通用对象。

新:更多文字:另外,你怎么能处理完全通用的错误编码呢?当我不知道我必须处理哪种数据类型时,我会害怕进行任何类型的数学操作或实际上任何类型的操作。如果它要求我为所有数据类型编写错误处理程序,那么我真的看不出这些通用参数的优势。

最佳答案

假设您遇到两种情况,除了代码中引用的类型不同之外,代码完全相同。

如果能够将代码写出一次,然后在两种情况下都使用相同的代码,这不是很有用吗?例如,类似 List 的容器类- 应该清楚的是,必须编写不同的 List 会很痛苦。每次您想在其中存储特定类型时都要上课。

它们被称为类型参数,需要参数的类型是泛型。

一个非常流行的数据结构是Dictionary<TKey, TValue> .它将键映射到值,因此您可以查找给定键的值。例如,键可能是“姓氏”,值可能是“电话号码”——在这种情况下,两者都是字符串类型(电话号码并不总是数字)。

当遍历 Dictionary 的内容时,它存储的每个项目都是一对。在标准类中,类型是 KeyValuePair<TKey, TValue> :

for (var pair in myDict)
{
Console.WriteLine(pair.Key + " maps to " + pair.Value);
}

关于c# - <T、TU等>的目的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1483458/

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