是否同时包含以下类型:List 和HashSet ?

问题描述 投票:0回答:2

我有两种显示方法:一种是项目列表,另一种是项目的HashSet。方法是相同的。有没有一种方法可以使用参数类型编写方法,以便无论传递给方法的参数类型如何,都可以使用相同的方法:List<T>HashSet<T>

方法是:

    public static void DisplayList<T>(List<T> list)
    {
        int i = 0;
        foreach (T item in list)
        {
            Console.Write(item.ToString());
            if (i < list.Count - 1)
            {
                Console.Write(", ");
            }
            i++;
        }
        Console.WriteLine();
    }

    public static void DisplayHashSet<T>(HashSet<T> set)
    {
        int i = 0;
        foreach (T item in set)
        {
            Console.Write(item.ToString());
            if (i < set.Count - 1)
            {
                Console.Write(", ");
            }
            i++;
        }
        Console.WriteLine();
    }
c# list hashset
2个回答
2
投票

您可以使用ICollection<T>界面:

ICollection<T>

1
投票

根据它们都实现public static void DisplayHashSet<T>(ICollection<T> col) { int i = 0; foreach (T item in col) { Console.Write(item.ToString()); if (i < col.Count - 1) { Console.Write(", "); } i++; } Console.WriteLine(); } List<T>List<T>HashSet<T>规范,您可以使用这些类中的任何一个,因为它们具有HashSet<T>属性

ICollection<T>
© www.soinside.com 2019 - 2024. All rights reserved.