您的位置:首页 > 编程语言 > C#

C#入门经典 习题6.4、6.5

2007-11-05 13:40 267 查看
  我在看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();
        }
    }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c# string books struct class