一:object:所有类的基类,所有类都直接或者间接继承自object

二:string

  1. 字符串的定义:string str=””    string str=new string(new char[]{});
  2. 如果没有使用,系统不会为其编译生成
  3. 字符是不可变的---字符串是静态文本值,如果对字符串值做修改,系统会重新为其分配一块空间,但是原有的空间也不会被收回,而是继续放在常量区,直到应用程序结束才收回。
  4. 字符串的本质就是一个字符数组。

三:字符串的常用方法:

  1. int Length:它是以字符个数做为返回值标准,不区分中英文
  2. int IndexOf(string str):找到你所指定的字符串在源字符串中第一次出现的位置(索引从0开始计算) ,如果没有找到则返回-1
  3. int IndexOf(char ch)
  4. int LastIndexOf(int ch);找到你所指定的字符串在源字符串中最后次出现的位置(索引从0开始计算) ,如果没有找到则返回-1
  5. bool EndsWith(String str)    //是否以指定字符结束
  6. bool Contains(string s)       //  是否包含指定序列 应用:搜索
  7. bool Equals(Object anObject)  //是否相等 (overload)
  8. String ToUpper():转换为大写
  9. String ToLower():转换为小写
  10. Split():可以按指定的字符(数组)分割,返回一个字符串数组

a) string[]splitStr=str.Split(newchar[]{',','.','},StringSplitOptions.RemoveEmptyEntries);

b) string[] splitStr=str.Split(‘’);

  1. Join:string的静态方法,可以使用指定的字符将数组中的每一个元素连接
  2. Format:可以使用占位符,特别是可以指定日期的格式。
  3. string.IsNullOrEmpty():判断字符串变量是否为null或者””

四.枚举:固定的一些值:字符串值、整型值

  1. 枚举的本质是整型(int32),枚举值可以认为是整数值的字符串表现形式。
  2. public enum Gender{男=0,女=1}
  3. 如果做类型转换:

int num=(int)Gender.男; Gender gen=(Gender)Enum.parse(TypeOf(Gender),"男");

五:ArrayList:

  1. 命名空间:System.Collections;
  2. 定义:ArrayList list=new ArrayList(int capacity);
  3. 添加元素:

a) Add(object obj):意味着可以添加任意类型的值

b) AddRange():可以一次性添加多个值

  1. 遍历:遍历方法和数组基本一致,都是通过下标索引来获取其中的元素,只是注意集合的元素个数是Count
 for (int i = ; i < arr.Count;i++ )

             {

                 Console.WriteLine(arr[i]);

             }
  1. 获取集合元素:通过key值获取
  2. 集合元素的删除:

a) Remove():以对象的方式删除元素,如果对象没有存在 不会报错

b) RemoveAt():删除指定索引位置的元素

c) RemoveRange():删除指定的范围

  1. 长度是可变的  length:长度 capacity:容量,capacity不能小于实际内容的值,当你将length变大之后,capacity会自动变大。
  2. .它的类型是object,---写入和读取的时候需要做装箱和折箱
  3. 6.clear();清空
  4. 7.Contains():判断是否包含某一个元素
  5. 8.ToArray();--object
  6. 不足:1.如果存储值类型,需要装箱和拆箱操作  2.不管什么类型的数据,存储之后,取出来使用必须通过类型转换

六:hashTable:

  1. 键值对:通过key值计算出存储的下标,所以key值不能重复
  2. 定义:hashTable ht=new HashTable();
  3. 添加元素:Add(object key,object value)
  4. 获取元素:通过key值获取元素
  5. 删除元素:通过key值删除元素
  6. 遍历方法:

a) Foreach(object key in ht.keys)

b) Foreach(object v ib ht.values)

c) Foreach(DictionaryEntry de in ht)

{

Console.WriteLine(de.key+”  “+de.value)

}

七:List<T>:相当于一个长度动态变化的数组:长度任意扩展,但是有数组类型规范

  1. 命名空间:using System.Collections.Generic;
  2. 创建:List<T> lists=new List<T>();T是指用户自定义的类型,可以是任意的类型,如 List<int> list=new List<int>();说明这个集合里面只能存放整型类型的数据
  3. 通过索引删除和访问及修改

七:Dictionary<key,value>:相当于规范了类型的hashTable

  1. 定义:Dictionary<string, string> dics = new Dictionary<string, string>();
  2. 添加元素:只能通过Add(),如:
           dics.Add("aa", "aa");

             dics.Add("bb", "bb");
  1. 删除:通过key值删除
  2. 遍历:三种遍历方法:遍历key,遍历value,通过类型DictionaryEntry遍历。

总结:

1.Arraylist---List<T>:本质上来说,存储数据是就是object[]

1.长度是可变的  length:长度 capacity:容量,capacity不能小于实际内容的值,当你将length变大之后,capacity会自动变大。

2.它的类型是object,---写入和读取的时候需要做装箱和折箱

3.增加:Add(object)

4.删除:Remove(object)  RemoveAt(int index)

5.集合通过索引下标访问

6.clear();清空

7.Contains():判断是否包含某一个元素

8.ToArray();--object

不足:1.如果存储值类型,需要装箱和拆箱操作  2.不管什么类型的数据,存储之后,取出来使用必须通过类型转换

2.HashTable—Dictionary<Key,Value>:

1.通过Add()方法添加元素,需要同时添加key和value

2.通过key访问和删除

3.数据其实是存放于一个burket[]中的

1.key

2.value

3.hash_coll:它是由key通过算法得到,用来标明数据存储的地址空间,在遍历的时候通过这个hash_coll值取出对应的value,所以它的存取效率非常高,因为不需要像arrlist做遍历

4.有三种遍历方式:

 foreach(object obj in ht.Keys)

             {

                 Console.WriteLine(obj);

             }

--------------------------------------------

 foreach(object obj in ht.Keys)

             {

                 Console.WriteLine(obj);

             }

---.----------------------------------------------

        foreach (DictionaryEntry obj in ht)

          {

             Console.WriteLine(obj.key +”  :  “+obj.value);

          }
 foreach (KeyValuePair<Tkey,Tvalue> obj in ht)

          {

             Console.WriteLine(obj.key +”  :  “+obj.value);

          }

不足:1.如果存储值类型,需要装箱和拆箱操作  2.不管什么类型的数据,存储之后,取出来使用必须通过类型转换

Asp.Net 之字符串和集合的使用的更多相关文章

  1. 【ASP.NET实战教程】ASP.NET实战教程大集合,各种项目实战集合

    [ASP.NET实战教程]ASP.NET实战教程大集合,各种项目实战集合,希望大家可以好好学习教程中,有的比较老了,但是一直很经典!!!!论坛中很多小伙伴说.net没有实战教程学习,所以小编连夜搜集整 ...

  2. 【转】ASP.NET数据库连接字符串总结

    来源:http://blog.csdn.net/lutinghuan/article/details/5973897 ASP.NET数据库连接字符串总结 一.使用OleDbConnection对象连接 ...

  3. swift学习(二)--基本运算符、字符串、集合操作

    在这一篇博客里面,我想要介绍一下swift里面一些常用的基本运算符,还有涉及到的字符串,集合操作.你会发现在swift里面还是有许多其他语言所不具有的特性运算操作的. 首先最基本的+,-,*,/,&g ...

  4. [转]ASP.NET数据库连接字符串总结

    这个不难,而且很重要,但总忘,找了篇比较全的,作为资料. 原文链接http://developer.51cto.com/art/201107/275406.htm 关于数据库链接字符串的相关知识,我们 ...

  5. 关于java中,json字符串转集合和对象,或者集合转json字符串的解决方法

    1 List集合转成json字符串 //Java集合 List<String> list = new ArrayList<String>(); list.add("a ...

  6. java中,字符串和集合判断是否为空

    字符串: 集合: 不为空

  7. java 字符串和集合互相转换

    今天在写项目的时候遇到一个问题,就是要把得到的一个集合转换成字符串,发现 import org.apache.commons.lang.StringUtils; 有这么一个简单的方法:String s ...

  8. 黑马基础阶段测试题:创建一个存储字符串的集合list,向list中添加以下字符串:”C++”、”Java”、” Python”、”大数据与云计算”。遍历集合,将长度小于5的字符串从集合中删除,删除成功后,打印集合中的所有元素

    package com.swift; import java.util.ArrayList; import java.util.List; import java.util.ListIterator; ...

  9. asp.net 连接字符串的多种写法

    一.使用OleDbConnection对象连接OLE DB数据源 1.连接Access 数据库 Access 2000: “provider=Microsoft.Jet.Oledb.3.5;Data ...

随机推荐

  1. mongodb 备份脚本

    ###############备份脚本#!/bin/bash basepath="/data/backup/dump$(date +%Y%m%d%H%M%S)" if [ ! -d ...

  2. HTTP请求报文支持的各种方法

    常见的HTTP方法如下: 1.GET GET是最常用的方法.通常用于请求服务器发送某个资源. 2.HEAD HEAD与GET的行为类似,但服务器在响应中只返回首部,不会返回实体的部分.这就允许客户端在 ...

  3. 耗时 2 年,用 8.5 万块乐高积木最牛复刻 Apple Park

    简评:国外大佬复刻 Apple Park,看了一下细节,确实厉害!只有你想不到,没有乐高拼不起来的,有没有乐高大神挑战一下? 苹果公园以各种各样的方式鼓舞人心,让人感兴趣.从建筑.可持续性和成本,到像 ...

  4. 数据分析:pandas 基础

    pandas 是基于 Numpy 构建的含有更高级数据结构和工具的数据分析包 类似于 Numpy 的核心是 ndarray,pandas 也是围绕着 Series 和 DataFrame 两个核心数据 ...

  5. C语言数据结构之图的基本操作

    本博文是是博主在学习数据结构图的这一章知识时做的一些总结,代码运行环境:visual studio2017 纯C语言 ,当然掌握了方法,你也可以试着用其它的语言来实现同样的功能. 下面的程序主要实现了 ...

  6. 蓝牙4.0BLE抓包(一) - 搭建EN-Dongle工作环境 使用EN-Dongle抓包 nRF51822

     版权声明:本文为博主原创文章,转载请注明作者和出处.           蓝牙4.0 BLE的开发过程中,使用抓包器进行抓包分析无疑会极大地提高我们的开发效率,同时能帮我们快速的定位问题.对于初学者 ...

  7. Eclipse 的SVN 插件

    Eclipse 的SVN 插件 简介  Subversive Eclipse 团队开发的SVN 插件. Subclipse Apache 的SVN 团队开发的Eclipse 插件.   Subvers ...

  8. 并发编程>>四种实现方式(三)

    概述 1.继承Thread 2.实现Runable接口 3.实现Callable接口通过FutureTask包装器来创建Thread线程 4.通过Executor框架实现多线程的结构化,即线程池实现. ...

  9. c# 获取项目根目录方法

    编写程序的时候,经常需要用的项目根目录.自己总结如下 1.取得控制台应用程序的根目录方法     方法1.Environment.CurrentDirectory 取得或设置当前工作目录的完整限定路径 ...

  10. Mac 10.12安装图片标注工具PxCook

    说明:现在基本是PxCook最好用,其余都是收费的,并且支持Android标注dp,主要是用于App开发时坐标定位,求到比例等等. 下载: (链接: https://pan.baidu.com/s/1 ...