如何在C#中获取通用列表,堆栈和映射的成员?

Wil*_*ban 0 c# generics

在Java中,您可以这样做:

要获得通用列表的成员:

public T getMember(int index){
    return list.get(index);
}
Run Code Online (Sandbox Code Playgroud)

要获取泛型堆栈的成员:

public T getMemberFromStack(int index){
     return stack.get(index); 
}
Run Code Online (Sandbox Code Playgroud)

并获得通用地图的成员:

public T getMemberFromMap(K key){
    return map.get(key);
}
Run Code Online (Sandbox Code Playgroud)

我一直在寻找

https://msdn.microsoft.com/en-us/library/6sh2ey19(v=vs.110).aspx

https://msdn.microsoft.com/en-us/library/3278tedw(v=vs.110).aspx

https://msdn.microsoft.com/en-us/library/xfhwa508(v=vs.110).aspx

但我在C#中找不到类似的方法.

这些方法应返回对象而不从列表/堆栈/映射中删除它们.

Mat*_*ero 6

用于List<T>:

public T GetMember(int index)
{
    return list[index];
}
Run Code Online (Sandbox Code Playgroud)

For Stack<T>(为什么你会在堆栈上得到一个特定的元素?):

public T GetMemberFromStack(int index)
{
    return stack.ElementAt(index);
}
Run Code Online (Sandbox Code Playgroud)

用于Dictionary<T, K>:

public T GetMemberFromMap(K key)
{
    return map[key];
}
Run Code Online (Sandbox Code Playgroud)

  • 只是澄清一下,`ElementAt`方法来自`System.Linq`而不是默认的`Stack/Queue`类的一部分,因此您可能需要导入该命名空间(尽管Stack/Queue可能不是最佳的数据结构)通过索引器随机访问). (3认同)