初学C#:为任何类型的数组添加一个不重复的成员,应怎么做?
应该是个很常见的问题,试着写了一个,当然是通不过的啦:
public static object add_member(object[] group, object member)
{
bool flag = false;
for (int n = 0; n < group.Length; n++)
{
if (group[n] == member)
{
flag = true;
break;
}
}
if (flag == false)
{
group[group.Length] = member;
}
return group;
}
static void Main(string[] args)
{
int[] test_array = new int[10];
add_member(test_array, 1);
int n=1;
foreach (int im in test_array)
{
Console.WriteLine(im);
n++;
}
}
错误1与“exam_delegate.Program.add_member(object[], object)”最匹配的重载方法具有一些无效参数错误2参数“1”: 无法从“int[]”转换为“object[]”
比较那部分,如果不能直接用==,似乎可以用委托来实现。
能不能帮我改改?
[解决办法]
为什么不用集合?
[解决办法]
数组方便?搞笑,去学学泛型集合吧
[解决办法]
这个命题本来就不成立。
譬如说object数组、enum数组(且已填满)、存放了不同类型元素的数组、存放了不可比较类型(如抽象基类、接口),或者存放没有比较意义的封闭类型,如HttpContext,又或者存放的类型对象根本就不能由你来创建,如HttpContext,的数组