C#命名空间的使用、添加命名空间、引用类型和值类型、字符串与char数组转换
2017-05-26 14:32
781 查看
命名空间: 命名空间的东西属于它,类属于命名空间;
若调用命名空间的东西时,不包含时需要添加命名空间
1、项目中没有包含命名空间
比如 若using System;不存在;调用Console.WriteLine();
方法1:将鼠标点到Console前面,等待出现需要显示的命名空间。
方法2:alt+shift+F10
2、一个项目中加另一个项目
第一步:选中项目--->右键 ----->添加引用----->项目----->添加要加入的项目;
第二步:在项目开始加入Using 项目的命名空间;
引用类型和值类型
值类型的值存储在栈中:int double decimal char bool struct enum
引用类型的值存储在堆中,名称在栈中:string、自定义类、数组、集合、object
string s="hello";
引用类型: “hello”的存储在堆中,地址存在栈中,名字为s;
字符串的不可变性
字符串string与char类型的数组转换
string name="tanghell";
string字符串可以看到char类型的只读数组;所有可以通过数组访问的方式访问:name[0]='t';(错误)
但是不能采用访问数组的方式改变string,因为string相当于只读的数组;name[0]='A'; (error)
方法:
1、字符串---->char类型的数组;
2、 更改 ;
3、 char类型数组------->字符串
若调用命名空间的东西时,不包含时需要添加命名空间
1、项目中没有包含命名空间
比如 若using System;不存在;调用Console.WriteLine();
方法1:将鼠标点到Console前面,等待出现需要显示的命名空间。
方法2:alt+shift+F10
2、一个项目中加另一个项目
第一步:选中项目--->右键 ----->添加引用----->项目----->添加要加入的项目;
第二步:在项目开始加入Using 项目的命名空间;
引用类型和值类型
值类型的值存储在栈中:int double decimal char bool struct enum
引用类型的值存储在堆中,名称在栈中:string、自定义类、数组、集合、object
string s="hello";
引用类型: “hello”的存储在堆中,地址存在栈中,名字为s;
字符串的不可变性
int num1=100; num1=200; // 在栈中,num1中存放的本来是100,经过赋值后,覆盖掉100,值变为200; string key="听课"; key="放学"; // 在栈中,key存放的本来是“听课”的地址,经过赋值后,堆中“听课”不变,新开辟一块空间存放“放学”,将新的地址放到key指向的栈中。 string key1="学习"; string key2="学习"; //这两个string中内容相同,在堆中只开辟了一个空间;在栈中开辟了两个空间。重新赋值的话,在堆中再开辟空间。 //string 就相当于一个char类型的只读数组。 StringBuilder sb= new StringBuilder(); //处理字符,运算速度很快,不需要每次都开辟空间
字符串string与char类型的数组转换
string name="tanghell";
string字符串可以看到char类型的只读数组;所有可以通过数组访问的方式访问:name[0]='t';(错误)
但是不能采用访问数组的方式改变string,因为string相当于只读的数组;name[0]='A'; (error)
方法:
1、字符串---->char类型的数组;
2、 更改 ;
3、 char类型数组------->字符串
1、char [ ] s=name.ToCharArray(); //将字符串转为char类型的数组 2、s[0]='A'; //更改 3、name=new string(s); //将char类型的数组转换为字符串。 得到改变后的string,在堆中的存储位置已改变。
相关文章推荐
- 20151024_001_C#基础知识(静态与非静态的区别,值类型和引用类型,堆和栈的区别,字符串的不可变性,命名空间)
- C#命名空间、值类型和引用类型、字符串的不可变性
- C#引用Excel找不到类型或命名空间名称“Excel”
- C#引用Excel找不到类型或命名空间名称“Excel”
- C#自动添加using引用命名空间
- char*数组(c类型字符串)和Vc++中的CString的转换,char*数组等问题
- C#引用类型转换,到底使用is,as还是显式强转?
- Java中char数组与字符串String类型的转换
- 【IDE-Visual Studio】C#错误 CS0246: 未能找到类型或命名空间名称“xxx”(是否缺少 using 指令或程序集引用?)(编译bug)
- 17.2015.08.04第十八节课 C#2 (数值类型及调用、引用类型及调用、装拆箱、常量、变量、数据类型转换、算术运算符、赋值运算符、关系运算符、逻辑运算符、字符串的常用方法)
- C# 引用 Excel 找不到类型或命名空间名称“Excel”(是否缺少 using 指令或程序集引用?)
- c# 引用一个dll 说不存在 类型 或命名空间
- 使用C#将Byte数组中含有的BCD码转换成字符串,及如何将字符串转换成BCD码
- [C#错误] 未找到类型或命名空间名称" " (是否缺少 using 指令或程序集引用?)
- char*数组(c类型字符串)和c++中的string的转换、字符串比较、char*数组等问题
- 添加了引用,也引用了命名空间,但还是提示“未找到类型或命名空间(是否缺少程序集指令)”
- visual studio c#里的引用 首先在代码里想用using 来应用命名空间,必须首先给工程添加该程序集引用
- 明明添加引用了,但还是提示:未能找到类型或命名空间名称xxx,这是怎么回事?
- char*数组(c类型字符串)和c++中的string的转换、字符串比较、char*数组等问题
- C#中使用强制类型实现字符串和ASCII码之间的转换