我有两种显示方法:一种是项目列表,另一种是项目的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();
}
您可以使用ICollection<T>
界面:
ICollection<T>
根据它们都实现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>