文章目录
C# 字符串操作
1.获取长度
C# 语言如果要获取字符串的长度,使用Length
属性即可.
class Program
{
static void Main()
{
string str = Console.ReadLine();
Console.WriteLine("字符串的长度为:" + str.Length);
Console.WriteLine("字符串中第一个字符为:" + str[0]);
Console.WriteLine("字符串中最后一个字符为:" + str[str.Length - 1]);
}
}
GetLength
格式
Length 表示取所有元素个数
GetLength() 表示取行数和列数
举例
数组array =
1,2,3
4,5,6
Length是6
GetLength(0) 是2
Get Length(1) 是3
class Program1 { static void Main(string[] args) { double[,] points = { { 90, 80 }, { 100, 89 }, { 88.5, 86 } }; for (int i = 0; i < points.GetLength(0); i++) { Console.WriteLine( (i + 1)); for (int j = 0; j < points.GetLength(1); j++) { Console.Write(points[i, j] ); } Console.WriteLine(); } }
2.查找字符
在 C#)中字符串的查找方法有 IndexOf、LastlndexOf,IndexOf 方法得到的是指定字符串在原字符串中第一次出现的位置,LastlndexOf 方法得到的是指定字符串在查找的字符串中最后一次出现的位置。
需要注意的是字符串中的每个字符的位置是从 0 开始的。
无论是哪个方法,只要指定的字符串在查找的字符串中不存在,结果都为 -1。
如果要判断字符串中是否仅含有一个指定的字符串,则需要将 IndexOf 和 LastlndexOf 方法一起使用,只要通过这两个方法得到的字符串出现的位置是同一个即可。
class Program
{
static void Main()
{
string str = Console.ReadLine();
if (str.IndexOf("@") != -1)
{
Console.WriteLine("字符串中含有@,其出现的位置是{0}", str.IndexOf("@") + 1);
}
else
{
Console.WriteLine("字符串中不含有@");
}
}
}
3.字符串替换
字符串的替换操作是指将字符串中指定的字符串替换成新字符串。
在 C# 中替换字符串的方法是Replace
方法。
class Program
{
static void Main(string[] args)
{
string str = Console.ReadLine();
if (str.IndexOf(",") != -1)
{
str = str.Replace(",", "_");
}
Console.WriteLine("替换后的字符串为:" + str);
}
}
4.字符串截取
在 C# 语言中截取字符串的方法是 Substring 方法,在使用该方法时有以下两种方法传递参数。
Substring(指定位置); //从字符串中的指定位置开始截取到字符串结束
Substring(指定位置, 截取的字符的个数); //从字符串中的指定位置开始截取指定字符个数的字符
class Program
{
static void Main(string[] args)
{
string str = Console.ReadLine();
int firstIndex = str.IndexOf("@");
int lastIndex = str.LastIndexOf("@");
if(firstIndex != -1 && firstIndex == lastIndex)
{
str = str.Substring(0, firstIndex);
}
Console.WriteLine("邮箱中的用户名是:" + str);
}
}
5.字符串插入
在一个字符串中可以在指定位置插入另一个字符串,在 C#中插入字符串使用的方法是 Insert 方法。
在 Insert 方法中需要两个参数,一个是字符串插入的位置,一个是字符串。
class Program
{
static void Main(string[] args)
{
string str = Console.ReadLine();
str = str.Insert(1, "@@@");
Console.WriteLine("新字符串为:" + str);
}
}
C# 类型转换
C# 允许使用两种转换方式:隐式类型转换和显式类型转换。
1.隐式类型转换
这些转换是 C# 默认的以安全方式进行的转换,不会导致数据丢失。例如,从小的整数类型转换为大的整数类型,从派生类转换为基类。
将存储范围小的数据类型直接转换成存储范围大的数据类型。
int a = 66;
double b = a;
float f = 33.33f;
double c = f;
2.显式类型转换
显式类型转换,即强制类型转换。显式转换需要强制转换运算符,而且强制转换会造成数据丢失。
强制类型转换主要用于将存储范围大的数据类型转换成存储范围小的
double d = 12314.1231;
int k =(int) d;
C# Convert方法和Parse 方法
1.Parse
C#Parse 方法用于将字符串类型转换成任意类型
数据类型 变量二数据类型.Parse(字符串类型的值);
string str;
int num = int.Parse(str);
2.Convert
C# Convert 方法是数据类型转换中最灵活的方法,它能够将任意数据类型的值转换成任意数据类型,前提是不要超出指定数据类型的范围。
数据类型 变量名 = convert.To数据类型(变量名);
static void Main()
{
float a = 123.456;
int b;
string str;
b = Convert.ToInt32(a);
str = Convert.ToString(a);
Console.WriteLine("{0}{1}", b, str);
}
C# 装箱和拆箱
C#语言中数据类型分为值类型和引用类型。将值类型装换为引用类型称为装箱,将引用类型转换成值类型称为拆箱。
//装箱
int a = 1;
string str = a.ToString();
//拆箱
a = int.Parse(str);
示例:通过允许值类型的任意值与Object类型的值相互转换,将值类型与引用类型链接起来;
//装箱
int val = 100;
object obj = val;
//拆箱
int val = 100;
object obj = val;
int num = (int) obj;