C#自学(2)

字符串

C#中一切都是对象,字符串string 也不例外
先copy一些

常用的方法

方法作用
Length获取字符串的长度,即字符串中字符的个数
IndexOf返回整数,得到指定的字符串在原字符串中第一次出现的位置
LastlndexOf返回整数,得到指定的字符串在原字符串中最后一次出现的位置
Starts With返回布尔型的值,判断某个字符串是否以指定的字符串开头
EndsWith返回布尔型的值,判断某个字符串是否以指定的字符串结尾
ToLower返回一个新的字符串,将字符串中的大写字母转换成小写字母
ToUpper返回一个新的字符串,将字符串中的小写字母转换成大写字母
Trim返回一个新的字符串,不带任何参数时表示将原字符串中前后的空格删除。 参数为字符数组时表示将原字符串中含有的字符数组中的字符删除
Remove返回一个新的字符串,将字符串中指定位置的字符串移除
TrimStart返回一个新的字符串,将字符串中左侧的空格删除
TrimEnd返回一个新的字符串,将字符串中右侧的空格删除
PadLeft返回一个新的字符串,从字符串的左侧填充空格达到指定的字符串长度
PadRight返回一个新的字符串,从字符串的右侧填充空格达到指定的字符串长度
Split返回一个字符串类型的数组,根据指定的字符数组或者字符串数组中的字符 或字符串作为条件拆分字符串
Replace返回一个新的字符串,用于将指定字符串替换给原字符串中指定的字符串
Substring返回一个新的字符串,用于截取指定的字符串
Insert返回一个新的字符串,将一个字符串插入到另一个字符串中指定索引的位置
Concat返回一个新的字符串,将多个字符串合并成一个字符串

类型转换

C#允许的两种常规的转换方式:隐式类型转换和显式类型转换

1)隐式类型转换

int a = 100;
double d = a;  //将int类型转换为double类型
float f = 3.14f;
d = f;    //将float类型转换为double类型

2)显式类型转换

double dbl_num = 12345678910.456;
int k = (int) dbl_num ;//此处运用了强制转换
parse方法转换
数据类型   变量二数据类型.Parse(字符串类型的值);

    int num = int.Parse(Console.ReadLine());//将输入的这个数字转换为int
Convert 方法转换
数据类型  变量名 = convert.To数据类型(变量名);

     float num1 = 82.26f;
     int integer;
     string str;
     integer = Convert.ToInt32(num1);
     str = Convert.ToString(num1);

Convert.ToInt16() 转换为整型(short)
Convert.ToInt32() 转换为整型(int)
Convert.ToInt64() 转换为整型(long)
Convert.ToChar() 转换为字符型(char)
Convert.ToString() 转换为字符串型(string)
Convert.ToDateTime() 转换为日期型(datetime)
Convert.ToDouble() 转换为双精度浮点型(double)
Conert.ToSingle() 转换为单精度浮点型(float)

装箱和拆箱(值类型和引用类型)

值类型引用类型
整型、浮点型、字符型、布尔型、枚举型等类、接口、数组、委托、字符串等

值类型->引用类型:装箱
引用类型->值类型:拆箱

int val = 100;
object obj = val;
Console.WriteLine("对象的值 = {0}", obj);
//装箱的过程,是将值类型转换为引用类型的过程
int val = 100;
object obj = val;
int num = (int) obj;
Console.WriteLine("num: {0}", num);
//拆箱的过程,是将值类型转换为引用类型,再由引用类型转换为值类型的过程

正则类(Regex类)

由于和js中的reg用法相似,下次有必要再专门写一篇正则的文章吧。。。

数组

C++

类型 标识[ ];

C#
类型[ ] 标识;//C++的定义在C#中是不合法的

定义和初始化

初始化:

//初始化数组中的元素
数据类型[]  数组名 = new  数据类型[长度];
数据类型[]  数组名 = {值 1, 值 2, ...}
数据类型[]  数组名 = new  数据类型[长度]{值 1,值 2,...}

多维数组:

 //定义多维数组
数据类型[ , , ...]  数组名;

//创建多维数组并初始化
数据类型[ , , ...]   数组名 = new  数据类型[m,n,...]  {{ , , ...},{ , , ...}};

每多一个维度则在定义时的[]中增加一个“,”

double[,] points = { { 90, 80 }, { 100, 89 }, { 88.5, 86 } };

锯齿形数组:

数据类型[][]  数组名 = new 数据类型[数组长度][];
数组名[0] = new 数据类型[数组长度];

    int[][] arrays = new int[3][];
    arrays[0] = new int[] { 1, 2 };
    arrays[1] = new int[] { 3, 4, 5 };
    arrays[2] = new int[] { 6, 7, 8, 9 };
    /*
    1 2
    3 4 5
    6 7 8 9
    */

foreach循环用法

foreach用于遍历集合中所有元素,有点类似js中for(let i in sth)的遍历方式
如果括号中的整个表达式返回值为 true,foreach 块中的语句就能够执行。
一旦集合中的元素都已经被访问到,整个表达式的值为 false,控制流程就转入到 foreach 块后面的执行语句

class Program
{
    static void Main(string[] args)
    {
        double[] points = { 80, 88, 86, 90, 75.5 };
        double sum = 0;
        double avg = 0;
        foreach(double point in points)
        {
            sum = sum + point;
        }
        avg = sum / points.Length;
        Console.WriteLine("总成绩为:" + sum);
        Console.WriteLine("平均成绩为:" + avg);
    }
}

Split 拆分字符串为数组

这和js中的split也同样类似这里简单演示

class Program
{
    static void Main(string[] args)
    {
        Console.WriteLine("请输入一个字符串:");
        string str = Console.ReadLine();
        string[] condition = { "," };
        string[] result = str.Split(condition, StringSplitOptions.None);
        Console.WriteLine("字符串中含有逗号的个数为:" + (result.Length - 1));
    }
}
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值