修饰符 + 键值对(Hashtable、ArrayList) + foreach循环
一、修饰符 protected(受保护的)
protected:可以在当前类的内部以及当前类的子类中访问。
键值对(ArrayList和Hashtable)
ArrayList:
增加:List.Add( );
Console.WriteLine("请输入一个字符串:");
string s = Console.ReadLine();
List<string> zfc = new List<string>();
char[] chs = new char[s.Length];
zfc.Add(s);
foreach (var item in s)
{
Console.WriteLine(item+" ");
}
插入:List.Insert( 需插入的位置,插入的值 );
插入数组:List.InsertRange( 0 , new string[ ] { "数据1" , “数据2”};
删除:List.Remove( ); 删除指定的单个元素
清空:List.RemoveRange( 0,3 ); 根据下标移除一定范围的元素
排序:List.Sort( ); 升序排序
反转:List.Reverse( );
清空所有元素:List.Clear( );
删除指定下标的元素:List.RemoveAt( 指定下标 );
判断是否包含某个元素:List.Contains( 元素 );
bool b = list.Contains( 某个元素 );
Console.WriteLine( b );
二、ArrayList集合长度的问题
每次集合中时间半酣的元素个数(count)超出了可以包含的元素格式(capcity)的时候集合就会向内存中申请多开一倍的空间,来保证集合的长度一直够用。
三、Hashtable 键值对集合
在键值对集合当中,我们是根据 “ 键 ” 去找值的。(字典查字的一个道理)
键值对对象【 键 】 = 值 ;
键值对中 键是唯一的 值是可以重复的。
ht.Add(1,"张三");
ht.Add(2,"李四");
ht.Add(3,"王五");
ht.Add(false,"错误的");
ht.Add(1,"新张三"); ---------------------------错误的 值是唯一的 不能填 1
ht【 1 】 = “通过索引新加的张三” ;
*********************************foreach循环********************************
foreach( var item in collection )
{
item:变量名( 集合中的每一项 ) collection:集合名( 集合 )
collection.Keys ---->键( 打印键号跟键号所对应的值 )
collection.Values -->值 ( 只打印剑豪所对应的值,不打印键号 )
ht.Add(1,"一号张三");foreach (var item in ht.Values) 只打印ht中的值 eg: “一号张三”
ht.Add(2,"二号张三");foreach (var item in ht.Keys) 打印ht中的值跟ht的键号 eg: 键号是----:2 ======值是:“二号张三”
"2" 为item 中的键,"张三" 为item中的值
}
foreach 循环的效率高于 for 循环 前提是在循环数据量 比较大的去情况。
var根据值推断出 值的类型。