c# 02-18 值类型 引用类型 字符串的不可变性 字符串的处理方法
1值类型 直接把值存在栈中 栈的特点是后进先出 int double decimal char struct enum bool
2 引用类型 把值存在堆中,把地址存在栈中; string 自定义的类 数组
字符串的不可变性 : string是引用类型 会把值存在在内存的堆中 把地址存在内存的栈中,当为一个字符串重新赋值的时候,旧的值并没有被销毁,而是在内存中新开辟一个内存空间存在新值,并把栈中所对应的字符串变量的地址改变为新值所对应的地址;
当程序结束后,GC会扫描整个内存区域,如果发现有的空间没有被指向,则会被立即销毁;
1 将字符串转换为char类型的数组
string str="abcdefg";
char[] chs=str.ToCharArray();
//将char类型的数组转换为字符串
str=new string(chs);
c#中创建一个计时器
Stopwatch sw=new Stopwatch();
sw.start();//开始计时
---执行的代码部分
sw.stop();//结束计时
console.writeLine(sw.Elapsed);//输出计时时间
1 Length 字符串中字符的个数
2 ToUpper() ToLower() 字符串转换大写或小写
3 Equals() 字符串比较 Equals(var1,StringComparison.ordinalIgnoreCse) 字符串比较的时候忽略大小写规则
4 split 分割字符串 返回的是字符串类型的数组 把字符串中不需要的一些字符去除,split 有多个重载 如果要去除空字符
string str = "abc + ,,, = & badgd @ kjohi ";
char[] chs = { ' ','+',',','@','&','='};
string[] a= str.Split(chs,StringSplitOptions.RemoveEmptyEntries);
5 判断字符串中是否有子串value Contains()
6 替换字符串内容 Replace()
7 截取字符串 Substring()
8 取子串value第一次出现的位置
9 Trim() 字符串去空格
10 TrimStart()
11 TrimEnd()
12 StartWith() 判断字符串是否以某种内容开始
13 EndWith() 判断字符串是否以某种内容结尾
14 lastIndexOf() 判断字符串最后一次出现的问题
15 IsNullOrEmpty()
16 Join() 添加分隔符
c# 02-18 值类型 引用类型 字符串的不可变性 字符串的处理方法的更多相关文章
- 30天C#基础巩固-----值类型/引用类型,泛型,空合并操作符(??),匿名方法
一:值类型/引用类型的区别 值类型主要包括简单类型,枚举类型,和结构体类型等,值类型的实例通常被分配在线程堆栈上面变量保存的内容是实例数据本身.引用类型被分配在托管堆上,变量保存的是地址.引 ...
- JAVASCRIPT数据类型(值类型-引用类型-类型总览)
值类型:也称为原始数据或原始值(primitive value). 这类值存储在栈(stack)中,栈是内存中一种特殊的数据结构,也称为线性表,栈按照后进先出的原则存储数据,先进入的数据被压入栈底,最 ...
- js的基础(平民理解的执行上下文/调用堆栈/内存栈/值类型/引用类型)
与以前的切图比较,现在的前端开发对js的要求似乎越来越高,在开发中,我们不仅仅是要知道如何运用现有的框架(react/vue/ng), 而且我们对一些基础的知识的依赖越来越大. 现在我们就用平民的方法 ...
- 数往知来C#之接口 值类型与引用类型 静态非静态 异常处理 GC垃圾回收 值类型引用类型内存分配<四>
C# 基础接口篇 一.多态复习 使用个new来实现,使用virtual与override -->new隐藏父类方法 根据当前类型,电泳对应的方法(成员) -->override ...
- C# 语法二 值类型引用类型
1.值类型 2.引用类型 一 值类型 值类型存放在栈中,引用类型存放在堆中. 值类型有:数值.布尔.字符,例如:int i;bool i2;char cr='a'; 二 引用类型 大多数类型是引用类型 ...
- JavaScript:值类型 引用类型
JavaScript类型 (1)值类型:数值.布尔值.null.undefined. (2)引用类型:对象.数组.函数. 1.string var str="hongda"; v ...
- (值类型引用类型)和null的关系
1.null null表示变量没有指向任何对象. 2.值类型 包括 bool.结构体.枚举.int.double.float等等 .在.NET中值类型都继承自ValueType. 3. 引 ...
- 第四篇 .NET高级技术之结构体及值类型引用类型
结构体 在平时的开发中很少自己去写结构体,他是一种值类型的数据.对于结构,不像类那样存在继承,一个结构体不能从另一个结构或类继承.但是结构体从基类Object继承. 语法: //struct是定义结构 ...
- C#【堆与栈 值类型 引用类型】
先说C#中值类型和引用类型 概念: 1.值类型:数据存储在内存的堆栈中,从堆栈中可以快速地访问这些数据,因此,值类型表示实际的数据. 2.引用类型:表示指向存储在内存堆中的数据的指针或引用(包括类.接 ...
随机推荐
- Java 开源博客 —— Solo 0.6.9 发布了!
Solo 是 GitHub 上 Star 数最多的 Java 博客系统,今天我们发布了 0.6.9 正式版,欢迎大家下载. 特性 基于标签的文章分类 博客/标签 Atom/RSS.Sitemap 输出 ...
- Long型转换成IP段String、StringIP段转换成Long型
/** 把long类型的Ip转为一般Ip类型:xx.xx.xx.xx * * @param ip * @return */ public static String getIpFromLong(Lon ...
- BZOJ3529: [Sdoi2014]数表 莫比乌斯反演_树状数组
Code: #include <cstdio> #include <algorithm> #include <cstring> #define ll long lo ...
- “肥宅快乐数”-python暴力版
编写一个函数来判断一个数是不是“快乐数”.一个“快乐数”定义为:对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和,然后重复这个过程直到这个数变为 1,也可能是无限循环但始终变不到 1.如 ...
- Pyhton学习——Day22
#有缩进的代码表示局部作用域的代码#if_name_ =='_main_' # while True#先引入一个os模块import os,sys,time,json# print(os.path.d ...
- Android 7.0 Gallery图库源码分析1 - 初识Gallery源码
分析一个项目的源代码时,第一件事就是查看清单文件,找到程序入口,我们从Gallery2源码的清单文件中可以看到GalleryActivity是此应用的启动Activity. <activity ...
- 04 SqlServer
数据库的注释 –(两个横线) 主键表 外键表 主键,组合主键 SqlServer 使用附加 权限 主文件mdf 日志文件ldf 数据类型 char varchar nchar nvarchar cha ...
- 安装laravel项目出错
我的本地是7.0.1,而下载下来的原来是运行在7.0.8版本的,于是执行:composer install 时,报了一堆错.解决办法:删掉composer.lock,重新composer instal ...
- BZOJ 2631 [国家集训队]Tree II (LCT)
题目大意:给你一棵树,让你维护一个数据结构,支持 边的断,连 树链上所有点点权加上某个值 树链上所有点点权乘上某个值 求树链所有点点权和 (辣鸡bzoj又是土豪题,洛谷P1501传送门) LCT裸题, ...
- 紫书 习题7-13 UVa 817(dfs+栈求表达式的值)
题目链接 点击打开链接 这道题分为两个部分, 一用搜索枚举每种可能, 二计算表达式的值, 有挺多细节需要注意 特别注意我的代码中在计算表达式的值中用到了一个!(代码枚举中的!表示不加符号, 我现在说 ...