一个强类型ArrayList类。

原创 2007年09月13日 23:54:00
class StringBase : CollectionBase
    
{
        
public string this[int index]
        
{
            
get return ((string)List[index]); }
            
set { List[index] = value; }
        }

        
public int Add(string value)
        
{
            
return (List.Add(value));
        }

        
public int IndexOf(string value)
        
{
            
return (List.IndexOf(value));
        }

        
public void Insert(int index, string value)
        
{
            List.Insert(index, value);
        }

        
public void Remove(string value)
        
{
            List.Remove(value);
        }

        
public bool Contains(string value)
        
{
            
return (List.Contains(value));
        }

        
protected override void OnInsert(int index, object value)
        
{
            
if (value.GetType() != Type.GetType("System.String"))
                
throw new ArgumentException("value must be of type string.""value");
            
base.OnInsert(index, value);
        }

        
protected override void OnRemove(int index, object value)
        
{
            
if (value.GetType() != Type.GetType("System.String"))
                
throw new ArgumentException("value must be of type string.""value");
            
base.OnRemove(index, value);
        }

        
protected override void OnSet(int index, object oldValue, object newValue)
        
{
            
if (newValue.GetType() != Type.GetType("System.String"))
                
throw new ArgumentException("newValue must be of type string.""newValue");
            
base.OnSet(index, oldValue, newValue);
        }

        
protected override void OnValidate(object value)
        
{
            
if (value.GetType() != Type.GetType("System.String"))
                
throw new ArgumentException("value must be of type string.");
            
base.OnValidate(value);
        }

    }
 避免在增加不同类型数据时出错。
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

ArrayList类是一个特殊的数组

System.Collections.ArrayList类是一个特殊的数组。通过添加和删除元素,就可以动态改变数组的长度。 using System.Collections;//在c#中使用Arra...

用数组编写一个ArrayList类

粗略的用数组来实现了ArrayList的方法,不够完善之处继续改正~~

System.Collections.ArrayList类是一个特殊的数组。通过添加和删除元素,就可以动态改变数组的长度。

一.优点 1。支持自动改变大小的功能 2。可以灵活的插入元素 3。可以灵活的删除元素 二.局限性 跟一般的数组比起来,速度上差些 三.添加元素 1.pu...
  • nodie
  • nodie
  • 2011-03-26 13:33
  • 4130

Activity之间传值(arraylist类型)A传值到B。B再返回值给A

Activity之间传值(arraylist类型)A传值到B。B再返回值给A 注意:页面A,B要跳转不要忘了在androidManifest中配置。 页面A: public classDel...

java学习-JAVA基本排序法示例,JAVA数据类型转换 ,ArrayList用法,Calendar 简单应用

JAVA基本排序法示例  Java合并排序法示例 public class Coalition{ public static void main(String[] args){ ...

为什么 ArrayList.toArray(T[]) 方法的参数类型是 T 而不是 E ?

ArrayList 是一个 generic class,它是这样声明的: public class ArrayListE> extends AbstractListE> implemen...

java基础总结六(自定义数据类型、ArrayList集合)

1. 自定义数据类型概述 任何编程语言都需要将现实生活中的事物抽象成代码。这时可以使用自定义的数据类型(类)来描述(映射)现实事物。 类就是数据类型,与之前学习的所有引用数据类型相同,自定义类也是一种...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)