C#字符串

字符串常用方法

字符串中自带有长度属性Length,
字符串检索方法IndexOf,
字符串的截取方法Substring(字符串位置,字符串长度),如果不写字符串长度默认把后面的所有全部截取

/**
 * 
 * 学习字符串
 * 
 * 
 * 
 * 
 * 
 * 
 * **/
using System;

namespace damo1
{
    
    class MainClass
    {

        //字符串功能测试1
        public void LengthString1()
        {
            string str1 = "同学们,大家好";
            Console.WriteLine("字符串的长度" + str1.Length);

        }
        //特定字符位置查找
        public void Index0fString()
        {
            string str1 = "同学们,大家好";
            int intResultPosition = -1;//特定字符位置(如果找不到特定字符,返回特定字符位置)
            intResultPosition = str1.IndexOf("大小");
            Console.WriteLine("大的位置是" + intResultPosition);
        }

        //截取特定字符串
        public void SubstringString()
        {
            string str1 = "同学们,大家好";
            string strResult;
            strResult = str1.Substring(3,3);
            Console.WriteLine("截取的字符串是" + strResult);
        }


        public static void Main(string[] args)
        {
            MainClass obj = new MainClass();
            obj.LengthString1();
            obj.Index0fString();
            obj.SubstringString();
            
        }
    }
}


字符串转换

Nunber.ToString()将Nunber转换为字符串
int.parse(strNum)把strNum转换为int型
int.TryParse(strNum,out intResultNum)//把strNum转换为int型并且放入intResultNun
Convert.ToInt32(strNum2)把strnum2转换为int

        /**
 * 
 * 学习字符串
 * 
 * Nunber.ToString()将Nunber转换为字符串
 * int.parse(strNum)把strNum转换为int型
 * int.TryParse(strNum,out intResultNum)//把strNum转换为int型并且放入intResultNun
 * Convert.ToInt32(strNum2)把strnum2转换为int
 * 
 * **/
using System;

namespace damo1
{
    class MainClass
    {
        //学习字符串的转换
        public void test1String()
        {
            int intNumber = 110;
            float floNunber = 10.2F;
            Console.WriteLine(floNunber.ToString());

            //字符串-->基本数据类型
            string strNum = "888l";
            int intResultNum = 0;
            //parse直接转换如果字符串里面出现字母,就会异常。
            int intNum = int.Parse(strNum);
            float floNum = float.Parse(strNum);
            //TryParse为类型安全的数值转换
            bool boResult = int.TryParse(strNum,out intResultNum);
            if (boResult)
            {
                Console.WriteLine("转换成功为"+intResultNum);

            }
            else {
                Console.WriteLine("转换失败"+intResultNum);
            }
 			 //convert类做转换
            string strNum2 = "999";
            int intResult = Convert.ToInt32(strNum2);
            Console.WriteLine(intResult);
        }


        public static void Main(string[] args)
        {
            MainClass obj = new MainClass();
            obj.test1String();
        }

字符串方法2

split(’,‘)切片以逗号将字符串切片,返回值为数组。

//根据指定规则,截取为一个字符串组
        public void testString2()
        {
            string strOringinal = "同学们,大家,早上好!";
            string[] strArray = null;
            strArray = strOringinal.Split(',');
            Console.WriteLine("新字符串长度=" + strArray.Length);
            for(int i = 0; i < strArray.Length; i++)
            {
                Console.WriteLine(strArray [i]);
            }
        }

在这里插入图片描述
判断是否为空
string.IsNullOrEmpty(str)

 public void testString3(string str)
        {
            if(str!=null&& str != "")
            {
                Console.WriteLine("输入的字符串不为null,且不是空");
            }
            else
            {
                Console.WriteLine("输入的字符串为null,或者空");
            }
            //str!=null&& str != ""可以直接用string.IsNullOrEmpty(str)替代
            if (string.IsNullOrEmpty(str))
            {
                Console.WriteLine("输入的字符串不为null,且不是空");
            }
            else
            {
                Console.WriteLine("输入的字符串为null,或者空");
            }
        }

StringBuilder

常规的字符串串联

using System;

namespace stringbuilder
{
    class MainClass
    {
        public void test1()
        {
            string str = "大家上午";

            str = str + "好!";
            str = str + "呵呵";
            str = str + "你好";
            Console.WriteLine("str="+str);
        }
        public static void Main(string[] args)
        {
            MainClass obj = new MainClass();
            obj.test1();
        }
    }
}

但是如果有多个字符串串联如果通过以上的方式就会消耗大量的内存所以就需要用到stringbuilder
原理:因为string存在驻留性(不变性),所以字符串串联的时候存在大量的消耗计算机内存的问题。
使用StringBuilder 需要引用using System.Text;命名空间
在这里插入图片描述

在拼接sql语句的时候回经常使用

using System;
using System.Collections.Generic;
using System.Text;

namespace stringbuilder
{
    class MainClass
    {
        public void textStringBuilder()
        {
            StringBuilder sbu = new StringBuilder();
            sbu.Append("大家上午");
            sbu.Append("好!");
            sbu.Append("呵呵");
            sbu.Append("你好");
            Console.WriteLine(sbu.ToString());
        }
        public static void Main(string[] args)
        {
            MainClass obj = new MainClass();
            obj.textStringBuilder();
        }
    }
}

数学类

数学类是system空间下的静态类
有两个静态常量E(自然对数e)和PI(圆周率π)

随机数

在这里插入图片描述

日期类

在这里插入图片描述

/**
 * 
 * 
 * 
 *  数学类,随机数,时间类
 * 
 * 
 * 
 * **/
using System;

namespace mathclass
{
    class MainClass
    {
        public void textMath1()
        {
            //绝对值
            Console.WriteLine(Math.Abs(5));
            Console.WriteLine(Math.Abs(-5));
            //求平方根
            Console.WriteLine(Math.Sqrt(16));
            //四舍五入
            Console.WriteLine(Math.Round(3.55));
        }
        //随机数
        public int createtrandom(int max)
        {
            int intResule = 0;
            Random r = new Random();
            intResule = r.Next(max);//表示0~max-1范围内的随机数
            return intResule;
        }
        //获得时间
        public void testDateTime()
        {
            Console.WriteLine("当前的时间是:" + DateTime.Now);
            Console.WriteLine("当前年份:" + DateTime.Now.Year);
            Console.WriteLine("当前月份:" + DateTime.Now.Month);
            Console.WriteLine("当前日期:" + DateTime.Now.Day);
            Console.WriteLine("小时数:" + DateTime.Now.Hour);
        }
        public static void Main(string[] args)
        {
            MainClass obj = new MainClass();
            // int a=obj.createtrandom(10);
            //  Console.WriteLine(a);
            obj.testDateTime();
        }
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值