数组,方法,ref和out关键字,字符串的常用方法 strin与StringBuilder
2017-10-21 11:46
344 查看
一 数组
int[] numArr1; //对数组声明
numArr1 = new int[10]; //对数组的实例化
//下面的数组是在声明数组并实例化后并重新对数组的默认值(元素)进行修改了
int[] numArr2 =
new int[5] { 120, 252, 3555, 4, 5 };
数组的编号从0开始。
数组是引用类型。
值类型是从栈中修改值,所以改变一个值对其他的值没有影响;引用类型是改变栈中的地址,再通过地址从堆中取值,所以改变一个地址相同地址的都会变化。
数组的常见操作:遍历 最值 排序 反转
二维数组
int[,] numArr4 =
new int[3, 4];
//得到数组有3行
Console.WriteLine(numArr4.GetLength(0));
//得到数组有4列
Console.WriteLine(numArr4.GetLength(1));
for (int i = 0; i < numArr4.GetLength(0); i++)
{
for (int j = 0; j < numArr4.GetLength(2); j++)
{
Console.Write(numArr4[i,j] +" ");
}
Console.WriteLine();
上面for循环求得二维数组的所有数值。
二 方法
静态方法 用static
修饰的方法叫做静态方法
方法的是三要素:返回值类型 方法名 参数
返回值类型包含:void 值类型 引用类型
方法名的规范:大驼峰命名法
Main方法的返回值类型只能是void 和int
Main方法的参数可有但是必须是string[]
类型的
方法的名字在同一个类中是不能重复的
在Main方法里面进行调用的时候传入的参数 是实际参数 简称实参
int numbers = 10;
PrintGraphic(numbers)
先对方法定义
然后在Main方法中调用
方法后面的括号是一个参数列表 里面的变量是形式参数 简称形参
类似一个傀儡
static void PrintGraphic(int lines)
{
for (int i = 0; i < lines; i++)
{
for (int j = 0; j <=i; j++)
{
Console.Write("*");
}
Console.WriteLine();
重载的条件有以下几个条件:
// 方法名必须一致
//参数列表不同
//参数列表的情况有以下几种情况
//参数的数量不同
//参数的类型不同
//参数的顺序不同
//在方法中 参数名称没有什么实际的作用 只是用来区别不同的参数而已
//参数列中的类型决定了实际参数的类型
必选参数和可选参数
方法里可以给声明的虚参数赋值,当主体方法中的实际参数不够时可以用方法里的虚参数补齐。实际参数优先于虚拟参数。
三 ref关键字
ref是可进可出的关键字。下面案例使Main方法中的num1和num2随Swap方法变化,都输出
num1=20,num2=10;ref关键字相当于把两个方法的参数绑在一起。
static void Main(string[] args)
{
int num1 = 10;
int num2 = 20;
Swap(ref num1,
ref num2);
Console.WriteLine("+++ num1={0},num2={1}", num1, num2);
}
static void Swap(ref int num1,ref int num2)
{
int temp = num1;
num1 = num2;
num2 = temp;
Console.WriteLine("**** num1={0},num2={1}",num1,num2 );
}
四 Out关键字
Out关键字是只出不进的关键字。下面的案例是week和day在Test方法中计算并输出给Main方法,使Main方法获得计算后的值。
static void Main(string[] args)
{
int numbers = 46;
int week;
int day;
Test(46, out week,out day);
Console.WriteLine("{0}周{1}天",week,day);
}
static void Test(int days, out int week,out int day)
{
week = 0;
day = 0;
week = days / 7;
day = days % 7;
}
五
1 字符串常用方法
字符串的不可变性:字符串是一个常量。
字符串拘留池机制:当一个字符串已经被创建,那么以后每次创建相同值的字符串时会直接引用它的地址值,无需为自己的值开辟新的内存空间。
2 字符串的静态方法
字符串比较:
Compare()方法用于比较两个字符串是否相等,该方法有两个string类型参数,用于接收进行对比的字符串。如果第一个字符串大于第二个字符串,则返回一个1;如果两个字符串相同,则返回0;若第一个字符串小于第二个字符串,则返回一个-1。。
Console.WriteLine(string.Compare("abcd",
"abc"));
上述语句返回1,因为前三个元素相等,第一个字符串长于第二个。
格式化字符串:
Format()方法
string str =
string.Format("姓名:{0},年龄:{1}",
"小明", 10);
判断字符串是不是一个空字符串:
IsNullOrEmpty()方法
bool ret =
string.IsNullOrEmpty("1");
字符串拼接
Join()方法的作用是使用指定的字符或字符串,将字符串数组中的元素连接起来。
string ret =
string.Join("_",
"王垚",
"亚东",
"志帆");
Console.WriteLine(ret);
3 字符串的实例方法
Contains()方法用于判断一个字符串中是否包含指定字符串
Console.WriteLine("abcdefgh".Contains("def"));
EndsWith()方法的作用是判断当前字符串是否以指定字符串结尾
string str =
"C#编程之道";
bool ret = str.EndsWith("之道");
StartsWith()方法的作用是判断当前字符串是否以指定字符串开头
bool ret = str.StartsWith("之道");
IndexOf()方法用于返回指定字符或字符串在字符串中的索引,在查找过程中,从字符串左边开始查找,如果找到第一个,便返回对应的索引且方法结束,否则返回-1。
(1)找出第一个字所在的索引
index = str.IndexOf("编程");
(2)找出索引为2开始共两个元素,两个元素都存在则输出第一个字符的索引,否则-1;
index = str.IndexOf("编程",2,2);
LastIndexOf用来从尾部向首部找到所找元素的下标
int index = str1.LastIndexOf(".");
Split()方法专门用来分隔字符串。例如有一个字符串“I have a dream”,要想统计该字符串中单词的个数,可以使用 Split()方法将字符串以空格分隔成字符串数组。
str = "I have a dream";
string[] strArr = str.Split(new char[] {
' '},StringSplitOptions.RemoveEmptyEntries);
StringSplitOptions 用来省略返回值中的空字符串
Substring()方法的作用是对字符串进行截取,例如要获取文件的后缀名,可以使用Substring()方法。
从索引5开始找到所有的元素
string num =
"222023333";
string retStr = no.Substring(5);
从索引为0的位置开始截取5个长度的字符座位字符串返回
retStr = no.Substring(0,5);
ToCharArray()方法将一个字符数组转化成字符串
char[] chArr = str.ToCharArray();
string str1 =
new string(chArr);
ToUpper()方法的作用是将字符串中所有的英文字母都变成大写的
str = str.ToUpper();
ToLower()方法的作用是将字符串中所有的英文字母都变成小写的
str = str.ToLower();
Trim()方法的作用是去除字符串两端的空格,例如在检测用户输入信息时,如果用户不小心在结束的位置输入了一个空格,那么将无法获得准确数据。因此,需要使用 Trim()方法将字符串两端的空格去掉。
str = " 张 三 ";
剔除字符串前缀空格和后缀空格
str = str.Trim();
剔除前缀空格
str = str.TrimStart();
剔除后缀空格
str = str.TrimEnd();
剔除其他符号
str = "*******张 ** 三*******";
str = str.Trim('*');
Replace用来指定字符替换旧的字符
str = str.Replace("TMD","**");
StringComparison用来指定某些区域、大小写或排序规则
StringComparison.OrdinalIgnoreCase使用序号排序规则并忽略字符串的大小写,对字符串进行比较
("c#",StringComparison.OrdinalIgnoreCase);
Encoding.ASCII.GetBytes(str);用来将字符串转化为ASCII码
string retStr =
Encoding.ASCII.GetString(byteArr);用来将ASCII码转化为字符串
六 StringBuilder
StringBuilder类,它和String类都用来操作字符串。与String类不同的是,StringBuilder类创建的字符串的长度是可以改变的,它类似一个字符容器,当在其中添加或删除字符时,并不会产生新的StringBuilder对象,因此可以让字符串的拼接操作变得更加高效。
******StringBuilder类可以把输入其中的数据转化为字符串,所以不仅能输入字符串,还能输入其他类型的数据。******
StringBuilder sb =
new StringBuilder();
***Append方法向类/集合中添加元素***甚至可以添加对象来实现
sb.Append(12);
sb.Append(new Student());
AppendFormat用法类似于string.Formatjehe
sb.AppendFormat()
Insert插入方法,在下标为X的方位插入需要的元素
sb.Insert(0, "YY");
Remove移除方法,在下标为X的方位移除Y个元素
sb.Remove(0,2);
Replace替换方法,(1)将X字符替换为Y字符
sb.Replace("1991","1998");
(2)第一个int参数代表X开始寻找替换的下标。第二个int参数代表寻找Y参数,只有由X开始找并找Y个元素,完全覆盖被替换的参数“19”,才能替换成功。
sb.Replace("19","2000",4,2);
Capacity代表当前StringBuilder的容量
sb.Capacity
int[] numArr1; //对数组声明
numArr1 = new int[10]; //对数组的实例化
//下面的数组是在声明数组并实例化后并重新对数组的默认值(元素)进行修改了
int[] numArr2 =
new int[5] { 120, 252, 3555, 4, 5 };
数组的编号从0开始。
数组是引用类型。
值类型是从栈中修改值,所以改变一个值对其他的值没有影响;引用类型是改变栈中的地址,再通过地址从堆中取值,所以改变一个地址相同地址的都会变化。
数组的常见操作:遍历 最值 排序 反转
二维数组
int[,] numArr4 =
new int[3, 4];
//得到数组有3行
Console.WriteLine(numArr4.GetLength(0));
//得到数组有4列
Console.WriteLine(numArr4.GetLength(1));
for (int i = 0; i < numArr4.GetLength(0); i++)
{
for (int j = 0; j < numArr4.GetLength(2); j++)
{
Console.Write(numArr4[i,j] +" ");
}
Console.WriteLine();
上面for循环求得二维数组的所有数值。
二 方法
静态方法 用static
修饰的方法叫做静态方法
方法的是三要素:返回值类型 方法名 参数
返回值类型包含:void 值类型 引用类型
方法名的规范:大驼峰命名法
Main方法的返回值类型只能是void 和int
Main方法的参数可有但是必须是string[]
类型的
方法的名字在同一个类中是不能重复的
在Main方法里面进行调用的时候传入的参数 是实际参数 简称实参
int numbers = 10;
PrintGraphic(numbers)
先对方法定义
然后在Main方法中调用
方法后面的括号是一个参数列表 里面的变量是形式参数 简称形参
类似一个傀儡
static void PrintGraphic(int lines)
{
for (int i = 0; i < lines; i++)
{
for (int j = 0; j <=i; j++)
{
Console.Write("*");
}
Console.WriteLine();
重载的条件有以下几个条件:
// 方法名必须一致
//参数列表不同
//参数列表的情况有以下几种情况
//参数的数量不同
//参数的类型不同
//参数的顺序不同
//在方法中 参数名称没有什么实际的作用 只是用来区别不同的参数而已
//参数列中的类型决定了实际参数的类型
必选参数和可选参数
方法里可以给声明的虚参数赋值,当主体方法中的实际参数不够时可以用方法里的虚参数补齐。实际参数优先于虚拟参数。
三 ref关键字
ref是可进可出的关键字。下面案例使Main方法中的num1和num2随Swap方法变化,都输出
num1=20,num2=10;ref关键字相当于把两个方法的参数绑在一起。
static void Main(string[] args)
{
int num1 = 10;
int num2 = 20;
Swap(ref num1,
ref num2);
Console.WriteLine("+++ num1={0},num2={1}", num1, num2);
}
static void Swap(ref int num1,ref int num2)
{
int temp = num1;
num1 = num2;
num2 = temp;
Console.WriteLine("**** num1={0},num2={1}",num1,num2 );
}
四 Out关键字
Out关键字是只出不进的关键字。下面的案例是week和day在Test方法中计算并输出给Main方法,使Main方法获得计算后的值。
static void Main(string[] args)
{
int numbers = 46;
int week;
int day;
Test(46, out week,out day);
Console.WriteLine("{0}周{1}天",week,day);
}
static void Test(int days, out int week,out int day)
{
week = 0;
day = 0;
week = days / 7;
day = days % 7;
}
五
1 字符串常用方法
字符串的不可变性:字符串是一个常量。
字符串拘留池机制:当一个字符串已经被创建,那么以后每次创建相同值的字符串时会直接引用它的地址值,无需为自己的值开辟新的内存空间。
2 字符串的静态方法
字符串比较:
Compare()方法用于比较两个字符串是否相等,该方法有两个string类型参数,用于接收进行对比的字符串。如果第一个字符串大于第二个字符串,则返回一个1;如果两个字符串相同,则返回0;若第一个字符串小于第二个字符串,则返回一个-1。。
Console.WriteLine(string.Compare("abcd",
"abc"));
上述语句返回1,因为前三个元素相等,第一个字符串长于第二个。
格式化字符串:
Format()方法
string str =
string.Format("姓名:{0},年龄:{1}",
"小明", 10);
判断字符串是不是一个空字符串:
IsNullOrEmpty()方法
bool ret =
string.IsNullOrEmpty("1");
字符串拼接
Join()方法的作用是使用指定的字符或字符串,将字符串数组中的元素连接起来。
string ret =
string.Join("_",
"王垚",
"亚东",
"志帆");
Console.WriteLine(ret);
3 字符串的实例方法
Contains()方法用于判断一个字符串中是否包含指定字符串
Console.WriteLine("abcdefgh".Contains("def"));
EndsWith()方法的作用是判断当前字符串是否以指定字符串结尾
string str =
"C#编程之道";
bool ret = str.EndsWith("之道");
StartsWith()方法的作用是判断当前字符串是否以指定字符串开头
bool ret = str.StartsWith("之道");
IndexOf()方法用于返回指定字符或字符串在字符串中的索引,在查找过程中,从字符串左边开始查找,如果找到第一个,便返回对应的索引且方法结束,否则返回-1。
(1)找出第一个字所在的索引
index = str.IndexOf("编程");
(2)找出索引为2开始共两个元素,两个元素都存在则输出第一个字符的索引,否则-1;
index = str.IndexOf("编程",2,2);
LastIndexOf用来从尾部向首部找到所找元素的下标
int index = str1.LastIndexOf(".");
Split()方法专门用来分隔字符串。例如有一个字符串“I have a dream”,要想统计该字符串中单词的个数,可以使用 Split()方法将字符串以空格分隔成字符串数组。
str = "I have a dream";
string[] strArr = str.Split(new char[] {
' '},StringSplitOptions.RemoveEmptyEntries);
StringSplitOptions 用来省略返回值中的空字符串
Substring()方法的作用是对字符串进行截取,例如要获取文件的后缀名,可以使用Substring()方法。
从索引5开始找到所有的元素
string num =
"222023333";
string retStr = no.Substring(5);
从索引为0的位置开始截取5个长度的字符座位字符串返回
retStr = no.Substring(0,5);
ToCharArray()方法将一个字符数组转化成字符串
char[] chArr = str.ToCharArray();
string str1 =
new string(chArr);
ToUpper()方法的作用是将字符串中所有的英文字母都变成大写的
str = str.ToUpper();
ToLower()方法的作用是将字符串中所有的英文字母都变成小写的
str = str.ToLower();
Trim()方法的作用是去除字符串两端的空格,例如在检测用户输入信息时,如果用户不小心在结束的位置输入了一个空格,那么将无法获得准确数据。因此,需要使用 Trim()方法将字符串两端的空格去掉。
str = " 张 三 ";
剔除字符串前缀空格和后缀空格
str = str.Trim();
剔除前缀空格
str = str.TrimStart();
剔除后缀空格
str = str.TrimEnd();
剔除其他符号
str = "*******张 ** 三*******";
str = str.Trim('*');
Replace用来指定字符替换旧的字符
str = str.Replace("TMD","**");
StringComparison用来指定某些区域、大小写或排序规则
StringComparison.OrdinalIgnoreCase使用序号排序规则并忽略字符串的大小写,对字符串进行比较
("c#",StringComparison.OrdinalIgnoreCase);
Encoding.ASCII.GetBytes(str);用来将字符串转化为ASCII码
string retStr =
Encoding.ASCII.GetString(byteArr);用来将ASCII码转化为字符串
六 StringBuilder
StringBuilder类,它和String类都用来操作字符串。与String类不同的是,StringBuilder类创建的字符串的长度是可以改变的,它类似一个字符容器,当在其中添加或删除字符时,并不会产生新的StringBuilder对象,因此可以让字符串的拼接操作变得更加高效。
******StringBuilder类可以把输入其中的数据转化为字符串,所以不仅能输入字符串,还能输入其他类型的数据。******
StringBuilder sb =
new StringBuilder();
***Append方法向类/集合中添加元素***甚至可以添加对象来实现
sb.Append(12);
sb.Append(new Student());
AppendFormat用法类似于string.Formatjehe
sb.AppendFormat()
Insert插入方法,在下标为X的方位插入需要的元素
sb.Insert(0, "YY");
Remove移除方法,在下标为X的方位移除Y个元素
sb.Remove(0,2);
Replace替换方法,(1)将X字符替换为Y字符
sb.Replace("1991","1998");
(2)第一个int参数代表X开始寻找替换的下标。第二个int参数代表寻找Y参数,只有由X开始找并找Y个元素,完全覆盖被替换的参数“19”,才能替换成功。
sb.Replace("19","2000",4,2);
Capacity代表当前StringBuilder的容量
sb.Capacity
相关文章推荐
- C# 参考之方法参数关键字:参数数组params、引用参数ref及输出参数out
- (C#)方法参数关键字:ref、out、params详解
- 数组及字符串常用的快捷方法
- 结构体,数组,方法的重载,ref,out
- C# 参考之方法参数关键字:params、ref及out
- C# 方法参数关键字:params、ref及out
- C# 参考之方法参数关键字:params、ref及out
- C#方法参数传递-同时使用ref和out关键字
- C# 参考之方法参数关键字:params、ref及out - Hunts.C - 博客园
- C# 参考之方法参数关键字:params、ref及out
- C# 参考之方法参数关键字:params、ref及out
- OC语言笔记(十二):OC字符串、数组、字典常用方法大全
- leetcode数组或者字符串常用方法总结
- C# 参考之方法参数关键字:params、ref及out
- C# 参考之方法参数关键字:params、ref及out
- C# 参考之方法参数关键字:params、ref及out
- 5. 常用的字符串、数组、Math方法
- C# 参考之方法参数关键字:params、ref及out
- C# 参考之方法参数关键字:params、ref及out
- C# 参考之方法参数关键字:params、ref及out