问题描述
publicMyCollectionClass:CollectionBase{publicintAdd(MyClassc){return(c!=null?this.InnerList.Add(c):-1);}publicvoidRemove(MyClassc){this.InnerList.Remove(c);}publicvoidInsert(intindex,MyClassc){if(c!=null)this.InnerList.Insert(index,c);}publicboolContains(MyClassc){returnthis.InnerList.Contains(c);}publicintIndexOf(MyClassc){returnthis.InnerList.IndexOf(c);}publicvoidCopyTo(MyClass[]array){this.InnerList.CopyTo(array);}publicMyClassthis[intindex]{get{returnthis.InnerList[index]asMyCollectionClass;}}}问题:a、以上代码的作用是什么?从这段代码你可以总结出什么编码规范?b、以上代码使用了索引器(indexer)机制,请问该如何在程序中编写索引器?
解决方案
解决方案二:
{return(c!=null?this.InnerList.Add(c):-1);}三元表达式判断的条件?true:false;比如if(i=0){returni+1;}else{returni;}可以改写成return(i=0?i+1:i;);索引属性教程参考http://www.cndw.com/tech/program/2006051065699.asp
解决方案三:
呵呵谢谢楼上的指导我需要的是概念上面的答案就是问题所问的答案我对概念很头疼
解决方案四:
实现自定义的集合publicMyClassthis[intindex]{get{returnthis.InnerList[index]asMyCollectionClass;}}}
解决方案五:
自定义集合类咯。随便找一个.NET中的集合类用Reflector一把,看看就知道了。