zoukankan      html  css  js  c++  java
  • 【2017-3-2】集合 结构体 枚举

    (一)集合

    1.定义:不同类型,不固定长度。

      要使用集合,必须先引用命名空间,using System.Collections;

      ArrayList  变量名 = new ArrayList(); ---------弱类型集合

    2.赋值:  ArrayList aa = new ArrayList();  

          aa.Add(值/变量);  //返回object类型,object类型是所有类型的基础

    3.获取集合的长度   aa.count ;

    4.取值  aa[索引] 

    5.插队 aa.Insert(索引,值/变量)aa.Insert(2,50);  2是字符串的位置索引  50 是要插入的数字

    6.移除 arr.Remove(值);    aa.Remove(40)----移除40

        aa.RemoveAt(索引);    移除的是对应索引的值

    8. 集合字符串反转   aa.Reverse();    aa.Reverse(1,2);-----1表示下标,2表示反转的长度

    9.aa.clear     清空

    强类型集合    声明数据类型

    List<T> T:泛型,任何类型   ,自己创建的student类,也可以List<student> list = new List<student>();
    List<int> slist = new List<int>();

    弱类型集合   

    哈希表集合  Hashtable ha = new Hashtable();

    static void Main(string[] args)
            {
    
                Hashtable ha = new Hashtable();
                //      (键,值)  键值对   键  值 都是object类型,基类型
                ha.Add(1,"哈哈");     
                ha.Add("aaaa","嘻嘻嘻嘻"); 
                
                //取值   取值的时候注意,要分开键keys,值values,
                foreach(string s in ha.Values)
                {
                    Console.WriteLine(s);
                }
                 Console.ReadKey();
            }

    字典:强类型  声明键值对的数据类型
    Dictionary<int, string> dic = new Dictionary<int, string>();

    特殊集合

    队列集合,输出的时候先进先出  Queue  qe = new Queue();  添加数据qe.Enqueue(object类型);  打印 qe.Dequeue

    栈桥集合 ,输出的时候先进后出  Stack  aa = new Stack();     添加数据 aa.Push(object类型));   打印 qe.Pop

    (二) contains方法

    判断字符串中是否有某个字符

    static void Main(string[] args)
            {
                List<string> aa = new List<string>();
                aa.Add("aaaa");
                aa.Add("bbbb");
                aa.Add("cccc");
                aa.Add("dddd");
                //判断字符串中是否含有bbbb
                bool has = false;
                has = aa.Contains("bbbb");
                Console.WriteLine(has);
    
                //判断字符串中是否含有bb
                bool has1 = false;
                foreach(string a in aa)
                {
                    if(a.Contains("b"))
                    {
                         has1 = true;
                    }
                }
                Console.WriteLine(has1);
                Console.ReadLine();
                
            }

    三)结构体

      用户自定义函数,位置定义在Main函数的外面,类的里面

    定义格式:

    struck  自定义名称

    {

      public 数据类型 名字;
      public 数据类型 名字;
      ...
      ...

    }

    声明实例化:
    结构体类型 ss = new 结构体类型();
    Student s = new Student();

    (四)枚举

    统一记录数据格式

    class Program
        {
            enum Sex
            {
                男,女
            }
            enum Week 
            {
                星期一,
                星期二,
                星期三,
                星期四,
                星期五,
                星期六,
                星期日
            
            }
            static void Main(string[] args)
            {
                Sex s = Sex.男;
                Sex sd = Sex.女;
    
                Week w = Week.星期二;
    
                Console.ReadLine();
            }
  • 相关阅读:
    bzoj1066: [SCOI2007]蜥蜴(最大流)
    bzoj4551: [Tjoi2016&Heoi2016]树(树链剖分)
    bzoj2663: [Beijing wc2012]灵魂宝石(二分+匈牙利)
    bzoj2150: 部落战争(匈牙利)
    bzoj1797: [Ahoi2009]Mincut 最小割(最小割+强联通tarjan)
    bzoj3993: [SDOI2015]星际战争(网络流)
    bzoj3504: [Cqoi2014]危桥(网络流)
    bzoj3212: Pku3468 A Simple Problem with Integers(线段树)
    bzoj4590: [Shoi2015]自动刷题机(二分答案)
    [WC2013]糖果公园
  • 原文地址:https://www.cnblogs.com/hanqi0216/p/6526030.html
Copyright © 2011-2022 走看看