gpt4 book ai didi

c# - C# .NET 中的 TSource 是什么?

转载 作者:可可西里 更新时间:2023-11-01 03:12:55 25 4
gpt4 key购买 nike

问题

什么是TSource

这是一个 example from MSDN :

public static IEnumerable<TSource> Union<TSource>(
this IEnumerable<TSource> first,
IEnumerable<TSource> second,
IEqualityComparer<TSource> comparer
)

它是一种类型吗?找不到关于它的任何 MSDN 文档。我认为它不可能是一种类型,因为我无法在 .NET Reflector 中单击它.

它是 .NET 关键字吗?在 C# keywords 中没有找到它列表。

.NET 编译器是否以特殊方式解释它?

我已经知道的

我知道 T 是一个泛型类型参数,在泛型方法中用作占位符。来自 What Are Generics 的示例来自 MSDN:

public class Stack<T>
{
T[] m_Items;
public void Push(T item)
{...}
public T Pop()
{...}
}
Stack<int> stack = new Stack<int>();
stack.Push(1);
stack.Push(2);
int number = stack.Pop();

最佳答案

TSource 只是一个通用类型参数。你可以这么说,因为它在声明中的方法名称之后出现在尖括号中:

public static IEnumerable<TSource> Union<TSource>

您可以使用任何标识符作为类型参数名称,因此这同样有效:

public static IEnumerable<Foo> Union<Foo>

但是,通常使用 T 或以 T 开头的名称。在这种情况下,它指示联合的“源”元素的类型。 LINQ 方法通常使用以下类型参数名称:

  • TSource:输入的元素类型(source)
  • TResult:输出(结果)的元素类型
  • TKey:用于分组等操作的键的元素类型
  • TElement:中间序列的元素类型 - 这很少使用,但它出现在 some overloads of GroupBy 中和类似的方法

关于c# - C# .NET 中的 TSource 是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5057223/

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