C#入门经典 习题6.4、6.5

  我在看C#入门经典 其中课后习题 6.5
在order结构中添加另一个个函数,该结构返回一个格式化的字符串,以合适的值替换用尖括号括起来的斜体条目。
不知道我如下写法可不可以?

   class Program
    {
        struct order
        {
            public string itemNames;
            public int unitCount;
            public double unitCost;

            public double AllCost()
            {
                return (Convert.ToDouble(unitCount)) * unitCost;
            }

            public string FormatitemNames()  //将itemNames中所有“<……>”内容替换为“@”
            {             
                while (itemNames.IndexOf('>') - itemNames.IndexOf('<') > 0)
                {
                    int numStart = itemNames.IndexOf('<', 0);
                    int numEnd = itemNames.IndexOf('>', numStart);
                    string getString = itemNames.Substring(numStart, numEnd - numStart + 1);

                    itemNames = itemNames.Replace(getString, "@");
                }              
               
                return itemNames;
            }
        }

        static void Main(string[] args)
        {
            order obj = new order();
            obj.itemNames = "Books'<a>price<b>list";
            obj.unitCost = 20;
            obj.unitCount = 15;

            Console.WriteLine("/n{0} allcost is {1}.", obj.itemNames, obj.AllCost());
            Console.WriteLine("/nitemNames after format : {0}",obj.FormatitemNames());
            Console.WriteLine("/n{0} {1}", obj.itemNames.IndexOf('<'), obj.itemNames.IndexOf('>')); 
            //替换后的itemNames中“<”和“>”所在的字符索引位置

            Console.ReadLine();
        }
    }

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值