C#中的组织语言-----------单双列,泛型集合

ArryList

非常类似于数组却又高于数组,因为ArryList可以动态维护,不会局限于存储学过的数组那样有个数限制的值,可以动态的添加,删除,遍历里边的值。

注意:ArryList类似于数组,所以也可以通过索引检索出里面的值,并且索引从0开始。

ArryList中的添加,移除和遍历

ArrayList list = new ArrayList();
                     list.Add("你好!!");
                     list.Add("世界");

通过ArryList中的Add();方法进行向ArryList中添加值。

list.Remove("世界");

通过ArryList中的Remove();方法进行向ArryList中移除选定的那个值。

list.RemoveAt(0);

通过ArryList中的RemoveAt();方法进行向ArryList中移除选定索引位置的那个值。

list.Clear();

通过ArryList中的Clear();方法进行移除ArryList中所有的值。

foreach(string item in list){
                   Console.WriteLine(item);
                }

可以利用for循环或者foreach循环来遍历ArryList中的所有值

for与foreach的不通就是:

for循环利用下标来遍历而foreach根据ArryList中的所有项来遍历

List<T>

List<SE> list = new List<SE>();

List单列集合"<>"尖括号中可以是类型,如:int,string,可以是类:SE(员工类),PC(电脑类)
            SE se = new SE();
            se.Name = "呵呵";
            se.Age = "25";
            SE se2 = new SE();
            se2.Name = "嘿嘿";

se2.Age="24";

new出实例给实例赋值
                list.Add(se);
                list.Add(se2);

Add();,Remove();方法依然适用

通过foreach遍历List集合中的所有集合
            foreach(SE item in list)
            {
               // SE seforeach = (SE)item;
                Console.WriteLine(item.Name+item.Age);
            }

注意foreach中的类型位置中 牢记是什么类型 是不是要进行强转同时注意遍历是需要拿到什么值。所以需要拿遍历的item(集合的所有项的总称).出来需要的值

Hashtable(哈希表)

属于双列集合范畴 有key,Value值,和LIst一样,key和value值也可以是类型,可以是类

Hashtable table = new Hashtable();
            SE se = new SE();
            se.Name="呵呵";
            se.Age="25";
            se.Id = 0010;
            SE  se2=new SE();
            se2.Name="嘿嘿";
            se2.Age="24";
            se2.Id = 0020;
           table.Add(se.Id,se);
           
            table.Add(se2.Id, se2);

通过Hashtable中的key值来遍历出Hashtable中的每一项

foreach (object item in table.Keys)
            {
                Console.WriteLine(item);
            }

通过Hashtable中的value值来遍历出Hashtable中的每一项
            foreach(object  item in table.Values)
            {
                SE a = (SE)item;
                Console.WriteLine(a.Name+a.Age);
            }

通过Hashtable中的对象table来遍历出Hashtable中的每一项

foreach (DictionaryEntry item in table)
            {

Console.WriteLine(item.Key);
                Console.WriteLine(((SE)item.Value).Name);

}

Dictionary<key,Value>

双列集合Dictionary<key,Value>

Dictionary<int, SE> dic = new Dictionary<int, SE>();
          
            SE se = new SE();
            se.Name="呵呵";
            se.Age="25";
            se.Id = 0010;
            SE  se2=new SE();
            se2.Name="嘻嘻";
            se2.Age="24";
            se2.Id = 0020;
            dic.Add(se.Id,se);
            dic.Add(se2.Id,se);

通过key,value遍历和哈希表一样
                       foreach(int  item in dic.Keys)
            {
                Console.WriteLine(item);
               // Console.Write(dic[item]);
            }
            foreach(SE item in dic.Values)
            {
                SE a = (SE)item;
                Console.WriteLine(a.Name+a.Age);
            }

通过Dictionary中的对象dic来遍历出Hashtable中的每一项
                  KeyValuePair<int,SE>写出key的类型和value的类型
            foreach (KeyValuePair<int,SE> item in dic)
            {
                Console.WriteLine(item.Key);
                Console.WriteLine(item.Value.Name+item.Value.Age);
            }

通过ArryList中的Add();方法进行向ArryList中添加值。

原文地址:https://www.cnblogs.com/9711301314LX/p/8232718.html

时间: 2024-10-17 17:07:56

C#中的组织语言-----------单双列,泛型集合的相关文章

JS中字符串拼装 单双引号的处理 字符转义

js中可能会用到动态追加元素,可能数据也是从后台传过来的,当然有两种思路, 1.在后台拼装好直接返回; 2.在前台js里面拼装, 如果拼装大量的html时可能单双引号就容易出问题;那么如何解决呢?最近遇到了这个问题,就做一下总结. 可以一句一句的拼装. 注意点:html元素属性全部用 双引号 字符串用单引号 var htmlline='<tr id="row'+obj.idArr+'">'; htmlline +='<td style="text-align

将一个泛型集合中的数据赋给另一个泛型集合

单纯new一个用"="的话 改变新new的 原数组也会随之改变 是跟随的. 因此要单纯赋值的话有一个简单的方法: // 如果真要这么做,但是有不想麻烦的话,就直接使用 ToList 方法, List<int> a = new List<int> { 1, 2, 3, 4 }; List<int> b = a.ToList(); a.Clear(); Console.WriteLine(b.Count);

JS、HTML 单双引号转义

在javaScript 中返回HTML的时候,如果HTML中涉及到的JS函数参数需要用单双引号 HTML 转义 双引号:"  IE6/8等浏览器下可能不识别  可以用十进制字符----->" 单引号:&apos; 对应十进制字符---------> ' 在js 中涉及到的单双引号转义,可以用 \'   和  \"  来代替

Oracle 12C -- 在相同的列的集合上创建多个索引

在12C中,可以在相同的列的集合上创建多个索引,但是多个索引的类型要不同.同一时刻,只有一个是可见的. SQL> create table emp_tab as select * from emp; SQL> create index emp_tab_ix_01 on emp_tab(job,hiredate); --在创建另一个索引之前,要将上一步创建的索引变成invisible状态 SQL> alter index emp_tab_ix_01 invisible; SQL> c

C语言中的单引号和双引号含义

C语言中的单引号和双引号含义迥异, 用单引号引起的一个字符实际上代表一个整数,整数值对应于该字符在编译器采用的字符集中的序列值,因此,采用ASCII字符集的编译器而言,'a'的含义与0141或97严格一致. 而用双引号引起的字符串,代表的却是一个指向无名数组起始字符的指针,该数组被双引号之间的字符以及一个额外的二进制值为零的字符'\0'初始化.

php中alert弹出时单双引号问题

php代码中单双引号问题是个很重要的问题,使用不当会造成很多麻烦.先记录一下今天写alert遇到的麻烦.我做登录的时候,成功时想弹出个提示说登录成功.写alert语句时不显示.其实就是单双引号弄得不对.正确的语句应该是: 我测试了只要是单双引号不同时使用就行,否则都不会显示.随后我应该总结一下单双引号的使用规则. 此外,在弹出和跳转同时出现在一段代码中时,alert不会出现,会直接跳转到定位的页面.想要alert出现,得在定位页面的前部写alert.

Bash中的单双引号作用

shell中的输入的字符分为纯字符和元字符(特殊意义的字符 meta) 元字符: IFS:由 <space> 或 <tab> 或 <enter> 三者之一组成(我们常用 space ). CR:由 <enter> 产生. =:设定变量. $:作变量或运算替换(请不要与 shell prompt 搞混了). >:重导向 stdout. <:重导向 stdin. |:命令管线. &:重导向 file descriptor ,或将命令置于背境执

在python中一对单引号,一对双引号,三个单双引号的区别和用法

首先说明,在python中三个单双引号并不是真正的注释 >>> type("""abcde""") <class 'str'> >>> type('''abcd''') <class 'str'> 这样可以看出三对单,双引号是有数据类型的 三对单,双引号的用法是定义的时候可以定义多行字符串 >>> a = """ ... a ... b .

web前端入门到实战:HTML-JS中的单双引混合处理原则

Web 开发时常会遇到 链接中调用JS操作,如: <a href="#" onclick="showName('donhwa')">查看名字</a> 这里的名字? donhwa ,偶尔会带有 单引,或双引,或兼有之. 这时,又要如何调整才不会暴脚本感叹号呢? 也许你我都经常遇到,偶尔调整一阵可以了就这样过了,没有总结下来. 下面是整理了一下的结果,记录一下. <html> <head> ? ? ? ? <titl