Unity学习之C#___自定义字符串类

本文介绍如何在C#中实现自定义字符串类StringDS,探讨字符串的不可变性,并详细解析Compare方法和Insert方法的工作原理,提供测试案例及结果。
摘要由CSDN通过智能技术生成
这次介绍如何实现自定义字符串。字符串简称串,串其实是一种特殊的线性表,因为串中的元素是一个个字符(char)。串(string)是由n个字符组成的有限序列,串中任意连续的字符组成的子序列称为改串的字串,包含字串的串被称为主串,子串的第一个字符在主串中的位置叫子串的位置,
在c#中串具有恒久不变的特性,字符串一经创建,就不能改变。所有关于串的修改操作,返回的都是一个新的串,原来的串都不会被改变。
自定义字符串类(StringDS)
class StringDS
    {
        private char[] data;//字符串是由char数组构成的

        /// <summary>
        /// 字符数组构造方法
        /// </summary>
        /// <param name="data"></param>
        public StringDS(char[] data)
        {
            this.data = new char[data.Length];
            this.data = data;
        }

        /// <summary>
        /// 字符串构造方法
        /// </summary>
        /// <param name="str"></param>
        public StringDS(string str)
        {
            this.data = new char[str.Length];
            for (int i = 0; i < str.Length; i++)
            {
                data[i] = str[i];
            }
        }

        public string ToString()
        {
            return new string(data);
        }

        /// <summary>
        /// 返回索引对应的字符
        /// </summary>
        /// <param name="index"></param>
        /// <returns></returns>
        public char this[int index]
        {
            get { return data[index]; }
        }

        /// <summary>
        /// 返回字符串长度
        /// </summary>
        /// <returns></returns>
        public int GetLength()
        {
            return data.Length;
        }

        //这个compare比较方法,
        //第一优先级,从0开始逐个比较ASCALL码,
        //第二优先级,比较字符串长度
        /// <summary>
        /// 如果两个字符串一样 返回0
        /// 当前字符串小于s,返回-1 (这里的大于和小于说的是ASCALL码的比较)
        /// 当前字符串大于s,返回1
        /// </summary>
        /// <param name="s"></param>
        /// <returns></returns>
        public int Compare(StringDS s)
        {
            int l
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值