Asp.Net 之字符串和集合的使用
一:object:所有类的基类,所有类都直接或者间接继承自object
二:string
- 字符串的定义:string str=”” string str=new string(new char[]{});
- 如果没有使用,系统不会为其编译生成
- 字符是不可变的---字符串是静态文本值,如果对字符串值做修改,系统会重新为其分配一块空间,但是原有的空间也不会被收回,而是继续放在常量区,直到应用程序结束才收回。
- 字符串的本质就是一个字符数组。
三:字符串的常用方法:
- int Length:它是以字符个数做为返回值标准,不区分中英文
- int IndexOf(string str):找到你所指定的字符串在源字符串中第一次出现的位置(索引从0开始计算) ,如果没有找到则返回-1
- int IndexOf(char ch)
- int LastIndexOf(int ch);找到你所指定的字符串在源字符串中最后次出现的位置(索引从0开始计算) ,如果没有找到则返回-1
- bool EndsWith(String str) //是否以指定字符结束
- bool Contains(string s) // 是否包含指定序列 应用:搜索
- bool Equals(Object anObject) //是否相等 (overload)
- String ToUpper():转换为大写
- String ToLower():转换为小写
- Split():可以按指定的字符(数组)分割,返回一个字符串数组
a) string[]splitStr=str.Split(newchar[]{',','.','},StringSplitOptions.RemoveEmptyEntries);
b) string[] splitStr=str.Split(‘’);
- Join:string的静态方法,可以使用指定的字符将数组中的每一个元素连接
- Format:可以使用占位符,特别是可以指定日期的格式。
- string.IsNullOrEmpty():判断字符串变量是否为null或者””
四.枚举:固定的一些值:字符串值、整型值
- 枚举的本质是整型(int32),枚举值可以认为是整数值的字符串表现形式。
- public enum Gender{男=0,女=1}
- 如果做类型转换:
int num=(int)Gender.男; Gender gen=(Gender)Enum.parse(TypeOf(Gender),"男");
五:ArrayList:
- 命名空间:System.Collections;
- 定义:ArrayList list=new ArrayList(int capacity);
- 添加元素:
a) Add(object obj):意味着可以添加任意类型的值
b) AddRange():可以一次性添加多个值
- 遍历:遍历方法和数组基本一致,都是通过下标索引来获取其中的元素,只是注意集合的元素个数是Count
for (int i = ; i < arr.Count;i++ )
{
Console.WriteLine(arr[i]);
}
- 获取集合元素:通过key值获取
- 集合元素的删除:
a) Remove():以对象的方式删除元素,如果对象没有存在 不会报错
b) RemoveAt():删除指定索引位置的元素
c) RemoveRange():删除指定的范围
- 长度是可变的 length:长度 capacity:容量,capacity不能小于实际内容的值,当你将length变大之后,capacity会自动变大。
- .它的类型是object,---写入和读取的时候需要做装箱和折箱
- 6.clear();清空
- 7.Contains():判断是否包含某一个元素
- 8.ToArray();--object
- 不足:1.如果存储值类型,需要装箱和拆箱操作 2.不管什么类型的数据,存储之后,取出来使用必须通过类型转换
六:hashTable:
- 键值对:通过key值计算出存储的下标,所以key值不能重复
- 定义:hashTable ht=new HashTable();
- 添加元素:Add(object key,object value)
- 获取元素:通过key值获取元素
- 删除元素:通过key值删除元素
- 遍历方法:
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>:相当于一个长度动态变化的数组:长度任意扩展,但是有数组类型规范
- 命名空间:using System.Collections.Generic;
- 创建:List<T> lists=new List<T>();T是指用户自定义的类型,可以是任意的类型,如 List<int> list=new List<int>();说明这个集合里面只能存放整型类型的数据
- 通过索引删除和访问及修改
七:Dictionary<key,value>:相当于规范了类型的hashTable
- 定义:Dictionary<string, string> dics = new Dictionary<string, string>();
- 添加元素:只能通过Add(),如:
dics.Add("aa", "aa");
dics.Add("bb", "bb");
- 删除:通过key值删除
- 遍历:三种遍历方法:遍历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 之字符串和集合的使用的更多相关文章
- 【ASP.NET实战教程】ASP.NET实战教程大集合,各种项目实战集合
[ASP.NET实战教程]ASP.NET实战教程大集合,各种项目实战集合,希望大家可以好好学习教程中,有的比较老了,但是一直很经典!!!!论坛中很多小伙伴说.net没有实战教程学习,所以小编连夜搜集整 ...
- 【转】ASP.NET数据库连接字符串总结
来源:http://blog.csdn.net/lutinghuan/article/details/5973897 ASP.NET数据库连接字符串总结 一.使用OleDbConnection对象连接 ...
- swift学习(二)--基本运算符、字符串、集合操作
在这一篇博客里面,我想要介绍一下swift里面一些常用的基本运算符,还有涉及到的字符串,集合操作.你会发现在swift里面还是有许多其他语言所不具有的特性运算操作的. 首先最基本的+,-,*,/,&g ...
- [转]ASP.NET数据库连接字符串总结
这个不难,而且很重要,但总忘,找了篇比较全的,作为资料. 原文链接http://developer.51cto.com/art/201107/275406.htm 关于数据库链接字符串的相关知识,我们 ...
- 关于java中,json字符串转集合和对象,或者集合转json字符串的解决方法
1 List集合转成json字符串 //Java集合 List<String> list = new ArrayList<String>(); list.add("a ...
- java中,字符串和集合判断是否为空
字符串: 集合: 不为空
- java 字符串和集合互相转换
今天在写项目的时候遇到一个问题,就是要把得到的一个集合转换成字符串,发现 import org.apache.commons.lang.StringUtils; 有这么一个简单的方法:String s ...
- 黑马基础阶段测试题:创建一个存储字符串的集合list,向list中添加以下字符串:”C++”、”Java”、” Python”、”大数据与云计算”。遍历集合,将长度小于5的字符串从集合中删除,删除成功后,打印集合中的所有元素
package com.swift; import java.util.ArrayList; import java.util.List; import java.util.ListIterator; ...
- asp.net 连接字符串的多种写法
一.使用OleDbConnection对象连接OLE DB数据源 1.连接Access 数据库 Access 2000: “provider=Microsoft.Jet.Oledb.3.5;Data ...
随机推荐
- ClamAV学习【7】——病毒库文件格式学习
搜查到一份详细的ClamAV病毒文件格式资料(http://download.csdn.net/detail/betabin/4215909),英文版,国内这资料不多的感觉. 重点看了下有关PE的病毒 ...
- Linux mint 安装踩坑记录
记得之前电脑上的那个Ubuntu是去年寒假的时候安装的,算下来自己用Linux也快一年了.虽然在去年暑假的时候我也曾经想过要把Ubuntu升级到18.04可是当时安装了几次都没有成功,自己也就放弃了. ...
- CentOS7打开关闭防火墙与端口
http://www.javahelp.com.cn/h-nd-747.html#_np=153_1707
- 数据分析:pandas 基础
pandas 是基于 Numpy 构建的含有更高级数据结构和工具的数据分析包 类似于 Numpy 的核心是 ndarray,pandas 也是围绕着 Series 和 DataFrame 两个核心数据 ...
- 4.1.1 Choosing the SST Donor
摘要: 出处:黑洞中的奇点 的博客 http://www.cnblogs.com/kelvin19840813/ 您的支持是对博主最大的鼓励,感谢您的认真阅读.本文版权归作者所有,欢迎转载,但请保留该 ...
- LOJ3069. 「2019 集训队互测 Day 1」整点计数(min_25筛)
题目链接 https://loj.ac/problem/3069 题解 复数真神奇. 一句话题意:令 \(f(x)\) 表示以原点 \((0, 0)\) 为圆心,半径为 \(x\) 的圆上的整点数量, ...
- 防止过拟合:L1/L2正则化
正则化方法:防止过拟合,提高泛化能力 在训练数据不够多时,或者overtraining时,常常会导致overfitting(过拟合).其直观的表现如下图所示,随着训练过程的进行,模型复杂度增加,在tr ...
- c# SocketAsyncEventArgs类的使用 IOCP服务器
要编写高性能的Socket服务器,为每个接收的Socket分配独立的处理线程的做法是不可取的,当连接数量很庞大时,服务器根本无法应付.要响应庞大的连接数量,需要使用IOCP(完成端口)来撤换并处理响应 ...
- spring boot快速入门 5: 事务管理
事务管理: 新增两名女生: 第一步:创建 GirlRespository package com.payease.service; import com.payease.entity.Girl; im ...
- ubuntu安装ntp时间服务器
1.安装ntp软件 sudo apt-get install ntp2.修改配置文件 sudo vim /etc/ntp.conf driftfile /var/lib/ntp/ntp.dr ...