我在看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();
}
}