三、C#入门基础03(字符和字符串)

一、Char?

1.1 Char在C#中表示一个Unicode字符,正是这些Unicode字符构成了字符串。Unicode字符是目前计算机通用的字符编码,它为针对不同的语言的每个字符设定了统一的二进制编码,用于满足跨语言,跨平台的文本转换,处理的要求。Char只能定义一个Unicode字符。
1.2 Char常用方法:(以Is和To开头的为重要方法。Is开头的方法大多是判断Unicode字符是否为某个类别,以To开头的方法主要是转换为其他Unicode字符。)
这里写图片描述
1.3 转义字符
C#采用字符”\”作为转义字符。
这里写图片描述

二、String?

1.1字符串的关键字为string。
它是String类的别名。string类型表示Unicode字符的字符串。String类类似于string类型,但是功能更强。虽然String类功能很强,但是它也是不可改变的。这就是说一旦创建String对象,就不能够修改。表面看来能够修改字符串的所有方法,实际上不能够修改。它们实际上返回一个根据所调用的方法修改的新的String。当需要大量的修改时,可使用StringBuilder类。
1.2比较字符串
比较字符串并非比较字符串长度的大小,而是比较字符串在英文字典中的位置。比较字符串按照字典排序的规则,判断;两个字符串的大小。在英文字典中,前面的单词小于后面的单词。

Compare方法用来比较两个字符串是否相等。

CompareTo方法用来比较两个字符是否相等,不同的是CompareTo 方法以实例对象本身与指定的字符串比较。

Equals方法主要用于比较两个字符串是否相等,如果相同返回值为 true,否则为false。

1.3格式化字符串
Format方法,用于将字符串数据格式化成指定的格式。(一般针对DateTime.Now进行格式化)
这里写图片描述
1.4截取字符串
SubString方法,该方法可以截取字符串中指定位置和指定长度的字符。
1.5分割字符串
Split方法,用于分割字符串。该方法的返回值是包含所有分割子字符串的数组对象,可以通过数组取得所有分割的子字符串。
1.6插入字符串
Insert方法,用于向字符串的任意位置插入新元素。
1.7填充字符串
PadLeft/PadRight 填充字符。
1.8删除字符串
Remove方法,用于从一个字符串指定位置开始,删除指定数量的字符。
1.9复制字符串
Copy和CopyTo方法,用于将字符串复制到另外一个字符串或char类型的数组中。
1.10替换字符串
Replace方法,用于将字符串中的某个字符或者字符串换成其他的字符或者字符串。

三、StringBuilder?

1.1 StringBuilder可变字符串类,存在于System.Text命名空间中,如果要创建StringBilder对象,首先必须引用此命名空间。
1.2 常用方法:
这里写图片描述

四、StringBuilder与String类的区别(面试题)

String对象不可改变的,每次使用Stirng类中的方法时,都要在内存中创建一个新的字符串对象,这就需要为该新对象分配新的空间。在需要对字符串执行重复修改的情况下,与创建新的String对象相关的系统开销会非常昂贵。如果修改字符串而不创建新的对象,则可以使用StirngBuilder类。

五、代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace _03
{
    class Program
    {
        static void Main(string[] args)
        {

            //char c = 'a';
            //char d = 'd';

               is开头
            1.判断字符是否属于控制字符
            //Console.WriteLine(char.IsControl(c));
            2.判断字符是否属于十进制数字
            //Console.WriteLine(char.IsDigit(c));
            3.判断对象是否属于高代理项         
            //Console.WriteLine(char.IsHighSurrogate(c));
            4.判断字符是否属于字母
            //Console.WriteLine(char.IsLetter(c));
            5.判断字符是属于字母还是属于十进制数字
            //Console.WriteLine(char.IsLetterOrDigit(c));
            6.判断字符是否属于小写
            //Console.WriteLine(char.IsLower(c));
            7.判断对象是否属于低代理项 
            //Console.WriteLine(char.IsLowSurrogate(c));
            8.判断字符是否属于数字
            //Console.WriteLine(char.IsNumber(c));
            9.判断字符是否属于标点符号
            //Console.WriteLine(char.IsPunctuation(c));
            10.判断字符是否属于分隔符
            //Console.WriteLine(char.IsSeparator(c));
            11.判断对象是否属于代理项字符
            //Console.WriteLine(char.IsSurrogate(c));
            12.判断是否形成代理项对(两个参数)
            //Console.WriteLine(char.IsSurrogatePair(c,d));
            13.判断字符是否属于符号字符
            //Console.WriteLine(char.IsSymbol(c));
            14.判断字符是否为大写
            //Console.WriteLine(char.IsUpper(c));
            15.判断字符是否属于空白
            //Console.WriteLine(char.IsWhiteSpace(c));

            //   to开头
            //string str = "abc";
            //char c = 'A';
            //将指定的字符串的值转换为它的等效字符
            //Console.WriteLine(char.Parse(str));
            //bool result;
            //DateTime datetimeVal;
            //result = DateTime.TryParse("7/4/2004 12:34:56", out datetimeVal);
            将字符转为小写
            //Console.WriteLine(char.ToLower(c));
            使用固定区域性的大小规则,将字符转为小写
            //Console.WriteLine(char.ToLowerInvariant(c));
            将字符转为字符串
            //Console.WriteLine(char.ToString(c));
            将字符转为大写
            //Console.WriteLine(char.ToUpper(c));
            使用固定区域性的大小规则,将字符转为大写
            //Console.WriteLine(char.ToUpperInvariant(c));
            //Console.ReadKey();




            //string a = "a";
            //string b = "b";
            //Console.WriteLine(string.Compare(b,a));
            //Console.WriteLine(b.CompareTo(a));
            //Console.WriteLine(DateTime.Now);
            //Console.WriteLine(DateTime.UtcNow);

            //Console.WriteLine(string.Format("{0:d}",DateTime.Now));
            //Console.WriteLine(string.Format("{0:G}", DateTime.Now));
            //Console.WriteLine(string.Format("{0:C2}", 99999999999));

            //indexof  查找出现位置  根据下标为 0开始 获取出现的位置
            //string str="f.cs";
            //Console.WriteLine(str.IndexOf('.'));
            //Console.WriteLine(str.LastIndexOf('.'));
            //截取字符串
            //int index = str.LastIndexOf('.');
            //Console.WriteLine(str.Substring(index));
            //Console.WriteLine(str.Replace(".",string.Empty));
            //Console.WriteLine(str.Split('.').Length);

            //  Insert会产生一个新的string字符串
            //Console.WriteLine(str.Insert(0, "你好"));
            //Console.WriteLine(str.PadLeft(10,'.'));
            //Console.WriteLine(str.PadRight(10,'.'));

            //string str = "abcd";
            //Console.WriteLine(str.Remove(0,2));
            //Console.WriteLine(string.Copy(str));
            //char[] cc = new char[str.Length];
            //str.CopyTo(0, cc, 0, str.Length);
            //Console.WriteLine(cc);   
            //Console.ReadKey();

            //StringBuilder sb = new StringBuilder();
            //sb.Append(" a");
            //sb.AppendFormat("{0:d}",DateTime.Now);
            //Console.WriteLine(sb);
            //Console.ReadKey();



            //  if-else  if-if else-else   if的嵌套

            //bool bb = true;
            //int b = 1;

            //if (b==1) {
            //    if (bb==true) {
            //        Console.WriteLine("true");
            //    }
            //    else
            //    {
            //        Console.WriteLine("false");
            //    }
            //}
            //else {
            //    Console.WriteLine("3");
            //}
            //Console.ReadKey();


            //switch case的使用
            //int caseSwitch = 1;
            //switch (caseSwitch)
            //{
            //    case 1:
            //        Console.WriteLine("Case 1");
            //        break;
            //    case 2:
            //        Console.WriteLine("Case 2");
            //        break;
            //    default:
            //        Console.WriteLine("Default case");
            //        break;
            //}
            //Console.ReadKey();

            //while的使用  迭代
            //int n = 1;
            //while (n < 6)
            //{
            //    Console.WriteLine("Current value of n is {0}", n);
            //    n++;
            //}

            //  do...while语句
            //int x = 0;
            //do
            //{
            //    Console.WriteLine(x);
            //    x++;
            //} while (x < 5);

            //for循环
            //for (int i = 1; i <= 5; i++)
            //{
            //    Console.WriteLine(i);
            //}

            //char[] chars = new char[4];

            //chars[0] = 'X';        // Character literal
            //chars[1] = '\x0058';   // Hexadecimal
            //chars[2] = (char)88;   // Cast from integral type
            //chars[3] = '\u0058';   // Unicode

            //foreach (char cc in chars)
            //{
            //    Console.Write(cc + " ");
            //    continue;
            //}

            //Console.ReadKey();



            //转义符
            //string str = "aaa";
            //  \n 回车换行
            //Console.WriteLine("\n"+str);
            //  \t 横向调到下一制表位置
            //Console.WriteLine("\t"+str); 
            //  \v 竖向跳格
            //Console.WriteLine("\v"+str);
            //  \b 退格
            //Console.WriteLine("\b"+str);
            //  \r 回车
            //Console.WriteLine("\r" + str);
            //  \f 换页 
            //Console.WriteLine("\f"+str);
            //  \\ 反斜线符
            //Console.WriteLine("\\"+str);
            //  \' 单引号符
            //Console.WriteLine("\'"+str);
            //  \ddd 1-3位八进制数所代表的字符
            //Console.WriteLine("\xhh"+str);//无法识别
            //Console.ReadKey();
        }
    }
}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值