20151026c#2

变量是内存里存储的,运行在cpu里的。

数据类型

值类型:所有的数值类型都是值类型(short int long float double、bool)、枚举、结构

引用类型:对象、字符串、object、数组

区别:

1、值类型

    class Program{static void Main(string[] args){int i = 10;int j = i;i = 20;Console.WriteLine(j);}}

所有的值类型是储存在栈里的,

值类型的赋值就是值的拷贝

j是没有变化的

2、引用类型

    class Program{static void Main(string[] args) { string s1 = "aa"; string s2 = s1; s1 = "bb"; Console.WriteLine(s2); } }

引用类的值是储存在堆里面的,栈里面储存的只是它的引用地址。

引用类型的赋值,实际上就是地址的拷贝

s2也是没有变化的。

静态成员

要去调用一个类里面的非静态成员(字段、方法),需要通过类的一个对象调用。

1、当实例化一个类的对象,堆里面会将类里面的所有非静态成员(变量、方法)生成

2、当实例化一个类的对象,首先会在堆里检索该类的对象是否存在,如果在在就会重新拷贝一份。

 

    class Person1{public string name = "A";public int age = 20;}class Program{static void Main(string[] args)//程序入口
        {Person1 p1 = new Person1();Console.WriteLine(string.Format("年龄是{0},姓名是{1}", p1.age, p1.name));//调用对象字段 可以写为静态字段就可以用类调用了。
            Console.ReadKey();}}

要去调用一个类里的静态成员,只需要通过类去调用。

    class Person{public static int i = 10;public static void SayHello(){Console.WriteLine("大家好");}}class Program{static void Main(string[] args){Console.WriteLine(Person.i);Person.SayHello();
            Console.ReadKey();}}

比如:教室类  同学对象

使用某个同学的文具盒就需要通过对象调用

使用教室里公共的工具 拖把、扫帚 就通过为可以调用

 

 未将对象引用到对象的实例

Person p1=null;

引用p1.age p1.name就会出现该错误 需要判断对象是否为空 调试时要查看对象为什么为空

尽可能的避免装箱拆箱 (苹果-苹果  苹果-打包-拆包-苹果)

装箱

把值类型变为引用类型

int i1 = 10;
string s3 = i1.ToString();

拆箱

把引用类型变为值类型

string s4 = "10";
int i2 = Convert.ToInt32(s4);

 

成员变量(全局变量):写在类的里面,方法的外面

局部变量 写在方法的里面

静态变量 static

 

数据类型转换

隐式转换 低精度转高精度型

int i=10;

double d=Convert.ToDouble(i);

显示式转换 高精度型转低精度型(数据会损耗)

double d=10.45;

int i=Conver.ToInt32(d);

运算符

算术运算符:和JS相同 +-*/% ++ --

赋值运算符:= += -= /= *= %= ??

?: js

int i5 = 2 > 3 ? 10 : 20; 2>3吗,如果成立取值10 不成立 取20

??

a=b??c b等于空吗?等于a=c 不等于a=b

string s5 = null;
string s6 = "aaa";
string s7=s5??s6; s5等于空吗?如果不等于取值s5 如果等于取值s6

关系运算符 == !== < > <= >=

逻辑运算符 ||或   &&与  !非(取反)

String类

定义特点

1、字符的数组

把一个字符串转化为字符的数组,并打印

       string s = "dfdfdf";char[] a = s.ToCharArray();for (int i = 0; i < a.Length; i++){Console.WriteLine(a[i]);}

2.获取字符的长度 str.length;

3、字符串一创建,就不能被修改,重新获取时会在堆里创建一个。

4、s2=s1时,会在堆里拷贝一份。

方法

Compare方法

字符串对应ascii码的顺序

Console.WriteLine(string.Compare("a","bbbbb"));1

Equals 判断是否相等

Console.WriteLine(string.Equals("aa","aa"));

StartWith/EndWith判断一个字符串是否以一个字符串开头 结尾 返回值true/false

string s = "aabbcc";
Console.WriteLine(s.StartsWith("aabb")); 返回true

indexOf/LastindexOf某个指定字符或字符串第一次(最后一次)出现的位置索引

string s = "aabbcc";
Console.WriteLine(s.IndexOf("d")); 返回-1

Console.WriteLine(s.IndexOf("b")); 返回索引2

SubSrting截取字符串

string s = "aabbcc";
Console.WriteLine(s.Substring(3));返回bbc

Console.WriteLine(s.Substring(3,1));返回b

insert 插入字符

string s = "aabbcc";
Console.WriteLine(s.Insert(3,"1"));返回aab1bcc

padleft padright  补齐字符串

 string s = "aabbcc";
 Console.WriteLine(s.PadLeft(10,'@'));返回@@@@aabbcc

Remove方法 删除和剪切字符串

string s = "aabbcc";
Console.WriteLine(s.Remove(1,1));返回abbcc 开始删除的位置,删除的数量

Trim去掉前后的空格

string s = " aabbcc ";
Console.WriteLine(s.Trim());返回aabbcc

去掉数组里的某个字符

Char[] str1 = {' ', '@', '#', '$' }; //必须要加空格
string str0="@#$ "; //必须要加空格
string str2 = " @China$# ";
string str3 = str2.Trim(str1);
string str4 = str2.Trim(str0.ToCharArray());
Console.WriteLine(str3);//返回China
Console.WriteLine(str4);//返回China

 

TrimSart去掉前面的空格 TrimEnd  去掉后面的空格

string str1 = "  dfdf ";
Console.WriteLine(str1.TrimStart());返回 dfdf空格 
Console.WriteLine(str1.TrimEnd());返回 空格dfdf

CopyTo方法 复制字符串

string str1 = "dfdf";
char[] str2 = new char[100];
str1.CopyTo(1, str2, 0, 3);//str1[1]  str2  str2[0] str2[3]
Console.WriteLine(str2);//返回fdf

Replace 替换字符串

Console.WriteLine(("dfdfd").Replace("d","1").Replace("1","2"));返回22d

Format把一个内容传到字符串里

Console.WriteLine(string.Format("'{0}'","abc")); 返回'abc'

 

Console是System下面的一个类

WriteLine是Console类下面的一个方法

当一个类是静态的,所有的内容都是静态的

 

转载于:https://www.cnblogs.com/16lily521/p/4929508.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/296103.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

一个常见的物理现象,直今还是未解之谜!

全世界只有3.14 % 的人关注了爆炸吧知识在我们的日常生活中存在着很多有趣的物理现象&#xff0c; 科学家对这些现象进行深入研究后&#xff0c;可以通过这些现象延伸&#xff0c;从而在前沿科技发展上得到很大的帮助&#xff0c;甚至去解决宇宙中出现的难题。但是在日常生活中…

SegmentFault 创始人祁宁对话 C# 之父 Anders Hejlsberg

导读 上周&#xff0c;C#、Delphi 之父 Anders Hejlsberg 亲临帝都&#xff0c;就 TypeScript 做了一场技术分享&#xff0c;并与众多开发者就此进行了技术探讨。Anders Hejlsberg 加入微软的 19 年里&#xff0c;一直致力于 C# 和 .NET 的研发工作。同时&#xff0c;作为 Type…

JS:1.3,函数(function)

ylbtech-JS&#xff1a;函数-导航函数定义返回函数调用一个函数调用一个函数(带参数)返回值的函数调用外部的js文件JS&#xff1a;3.1&#xff0c;函数(function)-定义 返回顶部1&#xff0c;定义函数语法 通过定义函数名称&#xff0c;参数和代码语句来创建函数。function 函数…

美女,你这是把腰带当裙子了?

1 你这是把腰带当裙子了&#xff1f;&#xff08;良心建议&#xff1a;穿这裙子一定要专心...&#xff09;▼2 真正充满味道的食堂&#xff01;▼3 &#xff1f;&#xff1f;&#xff1f;这又是一只有故事的猫▼4 女生的肚子可以多神奇&#xff1f;&#xff08;dy&#xff…

UITableView定制accessoryView出现的连带问题

为了美化UI,想实现如下图的效果:点击高亮 出发点是好的。没想到&#xff0c;出现了下图的连带问题:选择一行的时候&#xff0c;竟然连带的出现了高亮效果 这个如何是好&#xff1f;经过网络搜索&#xff0c;发现我不是第一个遇到这样的问题&#xff1a;custom-accessory-button…

Asp.NET Core 如何使用ElasticSearch和Kibana创建仪表板

图片在我以前的文章&#xff08;这里是第一[1]篇和第二篇[2]&#xff09;中&#xff0c;我展示了ElasticSearch作为电子商务中的全文搜索引擎的使用&#xff0c;一些高级配置的设置和使用以及products包含所有内容的索引的创建保存的产品。出于演示目的&#xff0c;我们使用Bog…

男女共厕,考验男生心理素质的时候到了......

1 假期里你都干了啥&#xff1f;▼2 有猫饼▼3 奥特曼&#xff1a;我不会错过&#xff01;▼4 自绝式单身▼5 我信了▼6 意外的惊喜▼7 画面太美我不敢看▼你点的每个赞&#xff0c;我都认真当成了喜欢

基于MySQL的高可用可扩展架构探讨

随着信息量飞涨&#xff0c;信息的存储成为了这个时代至关重要的一项技术。如何来保证数据存储技术能够适应信息量的增长速度和我们对信息的高度依赖&#xff0c;成为一个非常重要的课题。本文将从数据库架构的层面&#xff0c;通过以开源的数据存储软件来构建分布式数据层的思…

有趣分享:国内产业图谱

IT有趣分享”Microsoft 市值又重新登上全球第一当地时间21年10月29号周五美股收盘微软市值重新登上全球第一&#xff0c;约为2.46万亿美元&#xff0c;超越苹果2.43万亿美元&#xff0c;成为全球市值第一公司。相当于深圳21年前三季度的gdp的总和的两倍。有趣的是专门有人做了公…

性冷淡风的麻将,获红点奖!网友:没有烟火气了

全世界只有3.14 % 的人关注了爆炸吧知识在这个消费升级的时代很多产品都被重新设计着最近&#xff0c;一款麻将引发大家热议有人说惊艳也有人说太冰冷&#xff0c;没了烟火气设计者是THE 90s LAB台湾的一个90后团队这副麻将的名字很洋气叫做&#xff0c;马丘Machill读起来&…

c语言md5函数 linux,Linux下C语言计算文件的md5值(长度32)

google了好久都没有找到合适的&#xff0c;其实我只需要一个函数&#xff0c;能计算文件的 md5 值就好&#xff0c;后来找到了 md5.h 和 md5.c 的源文件&#xff0c;仿照别人的封装了个函数(他那个有问题&#xff0c;和 md5sum 计算出来的都不一样)。废话少说&#xff0c;直接贴…

图片的旋转

主要运用了Matrix类&#xff0c;postRotate()方法和postScale()方法&#xff1b; Matrix&#xff1a;中文是矩阵的意思&#xff0c;主要用于图片的缩放&#xff0c;平移与旋转&#xff1b; postRotate()用于旋转&#xff0c;postScale()用于缩放&#xff1b; 具体MianAvtivity代…

让 AI 为你写代码 - 体验 Github Copilot

前几天在群里看到有大神分享 Copoilot AI 写代码&#xff0c;看了几个截图有点不敢相信自己的眼睛。今天赶紧自己也来体验一下 Copoilot AI 写代码到底有多神奇。申请 现在 Copoilot 还处在预览阶段&#xff0c;想要体验需要先申请。等待大概一晚会收到邮件提示申请试用成功&am…

这个24岁北航博士刚毕业就受聘211大学副教授,他大一就保研,学术能力太牛了.........

全世界只有3.14 % 的人关注了爆炸吧知识本文综合整理自&#xff1a;量子位、微言航语近日&#xff0c;有一个人的“朋友圈”在朋友圈火了。别误会&#xff0c;超模君可没在玩套娃游戏。截图给大家搬来了&#xff0c;快看你没看错&#xff01;1996年出生&#xff0c;今年24岁&am…

英特尔傲腾内存linux,英特尔傲腾内存怎么样?intel傲腾内存优点和缺点你知道吗?...

英特尔傲腾内存在前一段时间正是发布&#xff0c;对于英特尔内存的性能不少用户一无所知&#xff0c;那么英特尔傲腾内存怎么样&#xff1f;都有哪些优点和缺点&#xff1f;下面装机之家小编来为大家解读下。优点1&#xff1a;3D XPoint随机读取性能强傲腾使用了不同于普通固态…

零代码平台中的服务编排思路

先打个广告&#xff0c;我们的第三场零代码实践的直播在本周五&#xff08; 11 月 5 日 &#xff09;晚8点准时开始&#xff0c;扫描下面二维码&#xff0c;直接预约直播&#xff0c;到时间微信会自动提醒。随着企业数字化转型的进程加快&#xff0c;零代码平台的的应用越来越广…

日本原装进口雪平锅,1台顶4台,有它谁还点外卖?

▲ 点击查看小爆我虽然热爱烹饪&#xff0c;但不得不说「下厨房」&#xff0c;也是个坑。光是锅&#xff0c;我就要买好几个。为了蒸包子馒头买蒸锅&#xff0c;为了炒菜买炒锅&#xff0c;偶尔想精致喝热牛奶又买了小奶锅&#xff0c;为了煲汤、做点卤味解解馋&#xff0c;买炖…

如何评价一个开源项目——价值流网络

本文由X-lab开放实验室博士生赵生宇原创出品该篇博客继续之前关于活跃度和协作影响力的介绍继续展开&#xff0c;希望可以在解决协作影响力无法容纳更多数据&#xff0c;从而可以更全面衡量开源生态的同时&#xff0c;也引入一种高可扩展的数学模型&#xff0c;可以在任意时间快…

【翻译】C#编程语言和JAVA编程语言的比较(下)

原文地址&#xff1a;http://www.25hoursaday.com/CsharpVsJava.html 6、集合 许多有名的编程语言都会包含一个集合框架&#xff0c;框架一般由各种用于保存数据的数据结构和配套的操作对象的算法构成。集合框架的优势是让开发者可以不用写数据结构和排序算法&#xff0c;把精力…

物理太难?这些虚拟动图,让你看懂物理

全世界只有3.14 % 的人关注了爆炸吧知识&#xff08;刻度尺的使用&#xff09;&#xff08;测量平均速度实验&#xff09;&#xff08;声音的产生&#xff09;&#xff08;温度计的使用&#xff09;&#xff08;晶体和非晶体的熔化&#xff09;&#xff08;光的反射&#xff09…