面试题目——进来看看

baya 2005-03-15 09:00:19
请用C#实现复合关键字:
public interface Icontainer
{
this[object key1,object key2]{get;set}
void add(object key1,object key2)
void Remove(object key1,object key2)
bool contains(object key1,object key2)
}
public class MyContainer:Icontainer
{
//在此处写出实现的代码;
}
//这是一个大公司的面试题目,规模很大的,大家帮帮解决
...全文
940 34 打赏 收藏 转发到动态 举报
写回复
用AI写文章
34 条回复
切换为时间正序
请发表友善的回复…
发表回复
guag 2005-03-15
  • 打赏
  • 举报
回复
to wolve(My futrue is't dreaming.)
能不能详细解释一下..
_-_-_-_- 2005-03-15
  • 打赏
  • 举报
回复
出现了,,,,
我1米88的
guag 2005-03-15
  • 打赏
  • 举报
回复
高人阿,赶快出现阿........
wolve 2005-03-15
  • 打赏
  • 举报
回复
题目本身就有问题.
1.索引器没有返回.
2.add方法只加key,没加value

按他的题意,可以用以下方法来实现:
加一个inner class,实现复合主键。注意,这个类要实现 Object.GetHashCode 和 Object.Equals方法,这样就可以在内部使用一个hashTable来储存这个信息.
baya 2005-03-15
  • 打赏
  • 举报
回复
先感谢guag(天知道) !Object 是一种数据抽象,可以是任何数据类型,所以对该问题可以具体化一些,比如数组等
guag 2005-03-15
  • 打赏
  • 举报
回复
比较困难,做不出..
guag 2005-03-15
  • 打赏
  • 举报
回复
NameValueCollection是不可以的,因为他的关键字必须是String型,而这里是Object(不仅仅是String).
jeall 2005-03-15
  • 打赏
  • 举报
回复
UP
nl328 2005-03-15
  • 打赏
  • 举报
回复
object[] myconobj = new object[2];
ArryList myarrylist = new ArryList();
private void Add(object key1,boject key2)
{
myconobj[0] = key1;
myconobj[1] = key2;
myarrylist.Remove(myconobj);
myarrylist.add(myconobj);
}

以上仅提供一个思路,可能myarrylist.find(obj)直接寻找找不到匹配的数组,需要写一个拆箱寻找的find()过程。但其实还是用arrylist或者hashtable来实现的。
yzgnick 2005-03-15
  • 打赏
  • 举报
回复
using System.Collections.Specialized
引用 System.Collections.Specialized.NameValueCollection這個類
baya 2005-03-15
  • 打赏
  • 举报
回复
很抱歉,我想原题应该是这样的。

请用C#实现一个可以使用复合关键字访问的容器:
public interface Icontainer
{
object this[object key1,object key2]{get;set;}
void add(object key1,object key2)
void Remove(object key1,object key2)
bool contains(object key1,object key2)
}
public class MyContainer:Icontainer
{
//在此处写出实现的代码;
}
baya 2005-03-15
  • 打赏
  • 举报
回复
谢谢 guag(天知道) ,是实现一个复合关键紫的容器。
deepsen 2005-03-15
  • 打赏
  • 举报
回复
强烈要求学习一下!期待高手哦:)
lp_net 2005-03-15
  • 打赏
  • 举报
回复
学习,不是很明白
guag 2005-03-15
  • 打赏
  • 举报
回复
明白了,等我一下...
guag 2005-03-15
  • 打赏
  • 举报
回复
索引器返回类型是void??
那还用索引器干什么??
如果这道题只是考虑如何实现接口是比较简单的..

楼上的楼上说的复合关键字是什么意思???
baya 2005-03-15
  • 打赏
  • 举报
回复
返回类型是void,谢谢!
givenchy 2005-03-15
  • 打赏
  • 举报
回复
复合关键字???什么意思?
guag 2005-03-15
  • 打赏
  • 举报
回复
感觉这个东西怪怪的,用ArrayList吧,Add,Remove他有两个参数(用两个ArrayList吧,后面的索引器又不知道该如何实现.)..
用HashTable吧索引器也有两个参数(而且还不知道返回类型)..
guag 2005-03-15
  • 打赏
  • 举报
回复
返回类型没写..
加载更多回复(14)

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧