第九章 C# 基础

一.不可变字符串

含义:

          string,引用类型,string类型表示零或更多 Unicode 字符组成的序列,
          string 是 .NET Framework 中 String 的别名。

代码示例:

1.初始化字符串的方式
 //方式1 字面量创建字符串
            string str1 = "abc";
            string str2  = @"abc";
            //方式2
            char[] charArray = new char[5] { 'a','b','c','d','f'};
            string str3 = new string(charArray);
            //方式3
             string str4   = string.Format("123");
2.字符串本质也是单字符的集合
   string str5 = "abcdefg";
            Console.WriteLine(str5.Length);

            char charNumber1 =  str5[0];
            Console.WriteLine(charNumber1);
            //str5[0] = 'w';  无法直接修改某个单字符
            for (int i = 0; i < str5.Length; i++)
            {
                Console.WriteLine(str5[i]);
            }
            foreach (var item in str5)
            {
                Console.WriteLine(item);
            }

二.Array 类的方法

 1.Length 获取字符串的长度,即字符串中字符的个数.
 string str1 = "abcasGdaSsAdasdfds";
            //只读属性  不能赋值
          //  Console.WriteLine(str1.Length);
2.IndexOf 返回整数,得到指定的字符串在原字符串中第一次出现的位置.
 //存在返回对应的索引值 反之返回-1
            int charIndex =  str1.IndexOf('a');
            int charIndex1=  str1.IndexOf('a',1);
            Console.WriteLine(charIndex1);
            int charIndex2 = str1.IndexOf('a',1,5);
          //  Console.WriteLine(charIndex1);
3.LastlndexOf 返回整数,得到指定的字符串在原字符串中最后一次出现的位置  从左数.
  int charIndex3 =  str1.LastIndexOf('a');
           // Console.WriteLine(charIndex3);
            int charIndex4 =str1.LastIndexOf('a',4);
            Console.WriteLine(charIndex4);
            int charIndex5 =  str1.LastIndexOf('a',5,3);
            Console.WriteLine(charIndex5);
4.StartsWith 返回布尔型的值,判断某个字符串是否以指定的字符串开头.
 bool isTrue =  str1.StartsWith("a");
            Console.WriteLine(isTrue);
            bool isTrue1 = str1.StartsWith("abb");
            Console.WriteLine(isTrue1);
 5.EndsWith 返回布尔型的值,判断某个字符串是否以指定的字符串结尾.
  bool isTrue3 = str1.EndsWith("bcasdasdasdfds");
            Console.WriteLine(isTrue3);
6. ToLower 返回一个新的字符串,将字符串中的大写字母转换成小写字母.
 string lowerStr =  str1.ToLower();
            Console.WriteLine(lowerStr);
            Console.WriteLine(str1);
 7.ToUpper 返回一个新的字符串,将字符串中的小写字母转换成大写字母.
 string upperStr = str1.ToUpper();
            Console.WriteLine(upperStr);
            Console.WriteLine(str1);
 8. Trim返回一个新的字符串,不带任何参数时表示将原字符串中前后的空格删除.
  string str2 = "  a bc  ";
            Console.WriteLine(str2.Length);
            string trimStr =    str2.Trim();
            Console.WriteLine(trimStr.Length);
            Console.WriteLine(str2);
 9.Remove 返回一个新的字符串,将字符串中指定位置的字符串移除.
  string str3 = "abcdefgh";
            string reStr = str3.Remove(0,3);
            Console.WriteLine(reStr);
10. TrimStart 返回一个新的字符串,将字符串中左侧的空格删除.
 string str10 = "  d f g h j k   ";
            string  trStr = str10.TrimStart();
            Console.WriteLine(trStr);
11.TrimEnd 返回一个新的字符串,将字符串中右侧的空格删除。
string trStr2 = str10.TrimEnd();
            Console.WriteLine(trStr2);
12.PadLeft 返回一个新的字符串,从字符串的左侧填充空格达到指定的字符串长度.
string s = "6";
            string ss = s.PadLeft(2);
            Console.WriteLine(ss);
            Console.WriteLine(s.PadLeft(2, '0'));
            Console.WriteLine(s.PadLeft(4, '0'));
            Console.WriteLine(s.PadLeft(4, 'c'));
13.PadRight 返回一个新的字符串,从字符串的右侧填充空格达到指定的字符串长度.
string sss = s.PadRight(2);
            Console.WriteLine(sss);
            Console.WriteLine(s.PadRight(2, '0'));
            Console.WriteLine(s.PadRight(4, '0'));
            Console.WriteLine(s.PadRight(4, 'c'));
14.Substring 返回一个新的字符串,用于截取指定的字符串.
  string subStr=  str3.Substring(0,3);
            Console.WriteLine(subStr);
15.Insert 返回一个新的字符串,将一个字符串插入到另一个字符串中指定索引的位置.
  string insertStr =   str3.Insert(1,"kkk");
            Console.WriteLine(insertStr);
16.Concat方法用于连接string的一个或多个实例,或string的一个或多个实例的object表示形式
 string str4 = "abc";
            string str5 = "fff";
            string concatStr = string.Concat(str4,str5);
            Console.WriteLine(concatStr);
17.Join字符串数组元素以某个字符串符号分割 然后组成新的字符串
 string joinStr=  string.Join(",",str6,str7);
            Console.WriteLine(joinStr);
            string[] strArray = { "a", "b", "c", "d" };
            string joinStr1 =string.Join("TT",strArray);
            Console.WriteLine(joinStr1);
18.Contains 判断字符串是否包含某些子字符串 结果为bool值.
 bool isTrue4 =  str7.Contains(joinStr);
            Console.WriteLine(isTrue4);
            bool isTrue5 = joinStr.Contains(str7);
            Console.WriteLine(isTrue5);
            string str8 = null;
            string str9 = "";
             bool isTrue6 =    string.IsNullOrEmpty(str9);
            Console.WriteLine(isTrue6);
            if (str8 == null || str8 == "") 
            {

                Console.WriteLine("字符串为空");

            }
            if (string.IsNullOrEmpty(str9)) {
                Console.WriteLine("字符串为空");
            }

三.格式化字符串方式

方式1   +拼接



            string str1 = "abc";
            string str2 ="hjk";
            Console.WriteLine(str1+str2);

方式2 占位符  {变量索引值}

 string str3 = "abc";
            int intNumber = 100;
            Console.WriteLine("{0}{1}",str3,intNumber);
            Console.WriteLine("{0}{0}",str3,intNumber);
            //数组越界
            //  Console.WriteLine("{0}{2}", str3,intNumber);
            Console.WriteLine("这是"+"{0}"+"这是"+"{1}",str3,intNumber);
            Console.WriteLine("这是{0}这是{1}",str3,intNumber);

四. C# 语法

 int i = 12345;
            Console.WriteLine("{0:C}", i);   //货币
            Console.WriteLine("{0:D}", i);   //十进制数
            Console.WriteLine("{0:E}", i);    //科学技术法
            Console.WriteLine("{0:F}", i);   // 浮点数表示法
            Console.WriteLine("{0:G}", i);   //G或g General 常用格式
            Console.WriteLine("{0:N}", i);   //N或n 用逗号分割千位的数字

五.获得当前时间

 DateTime dateTime =  DateTime.Now;
            Console.WriteLine(dateTime.ToString());

            Console.WriteLine("{0:D}", DateTime.Now);   //输出到天
            Console.WriteLine("{0:y}", DateTime.Now);   //输出到月
            Console.WriteLine("{0:m}", DateTime.Now);    //取出是那个月
            Console.WriteLine("{0:T}", DateTime.Now);   // 取长时间到秒
            Console.WriteLine("{0:t}", DateTime.Now);   //取短时间到分
            Console.WriteLine("{0:tt}", DateTime.Now);   //取出是上午还是下午  

六.string.Format方法

1.可以使用string.Format方法来格式化字符串

2.string.Format方法和使用new关键字创建字符串对象的区别在于:

1.使用string.Format方法可以在一个字符串中插入多个参数,并且可以在插入参数时指定格式和宽度。而使用new关键字创建字符串对象时,需要手动拼接字符串或使用字符串插值语法。
 2.string.Format方法可以在格式字符串中使用占位符来标识要插入的参数的位置,而使用new关键字创建字符串对象时,需要明确指定要插入的参数的位置。
  3.string.Format方法是一个静态方法,可以直接通过类名调用,而使用new关键字创建字符串对象时,需要通过实例化字符串类来创建对象。

 string abcStr =  string.Format("abc");
            string abcStr1 = string.Format("{0}{1}{2}", 'a', 'b', 'c');
            //示例:
            int number = 42;
            string name = "John Doe";
            DateTime date = DateTime.Now;
            string formattedString = "Number: " + number + ", Name: " + name + ", Date: " + date;
            // 输出:Number: 42, Name: John Doe, Date: 9/1/2021 1:23:45 PM
            //,使用new关键字创建字符串对象时,需要手动拼接字符串,代码相对冗长。而使用string.Format方法可以更简洁地实现字符串的格式化

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值