我有一个数组,我需要在打印数组时将$符号放在输出上。我已经看过ValueType但它在数组上不适用于我。请帮帮我,该怎么办?
这是我的代码
string[,] Pizza = new string[5, 5]
{
{"Name of Pizza \t", "Small", "Medium", "Large", "XLarge"},
{"Plain \t \t", "8.80", "12.80", "16.80", "20.80"},
{"Hawaian \t", "10.90", "15.90", "20.90", "25.90"},
{"Beefy \t \t", "10.90", "16.90", "21.90", "26.90"},
{"Vegetarian \t", "10.90", "14.90", "19.90", "24.90"}
};
//print the array
Console.WriteLine("what type of Pizza do you want?");
for (int i = 0; i < Pizza.GetLength (0); i++)
{
Console.WriteLine();
for (int j = 0; j < Pizza.GetLength (1); j++)
Console.Write(Pizza[i, j]+'\t');
}
提前感谢。
答案 0 :(得分:1)
这应该可以帮到你
string[,] Pizza = new string[5, 5]
{
{"Name of Pizza \t", "Small", "Medium", "Large", "XLarge"},
{"Plain \t \t", "8.80", "12.80", "16.80", "20.80"},
{"Hawaian \t", "10.90", "15.90", "20.90", "25.90"},
{"Beefy \t \t", "10.90", "16.90", "21.90", "26.90"},
{"Vegetarian \t", "10.90", "14.90", "19.90", "24.90"}
};
//print the array
Console.WriteLine("what type of Pizza do you want?");
for (int i = 0; i < Pizza.GetLength (0); i++)
{
Console.WriteLine();
for (int j = 0; j < Pizza.GetLength (1); j++)
if(j > 0 && i > 0){
Console.Write("$" + Pizza[i, j] + '\t');
}
else{
Console.Write(Pizza[i, j] + '\t');
}
}
答案 1 :(得分:0)
重写。
我解决问题的核心思想是我使用十进制数据类型来表示价格,我使用标准的“C”格式,以便用适当的货币符号输出它们。
enum PizzaSize
{
Small,
Medium,
Large,
XLarge
}
class Program
{
static void Main(string[] args)
{
var pizzas = new[] {
new {
Name = "Plain",
Prices = new [] {
new { Size = PizzaSize.Small, Price = 8.80M },
new { Size = PizzaSize.Medium, Price = 12.80M },
new { Size = PizzaSize.Large, Price = 16.80M },
new { Size = PizzaSize.XLarge, Price = 20.80M },
}.ToDictionary(item => item.Size, item => item.Price)
},
new {
Name = "Hawaian",
Prices = new [] {
new { Size = PizzaSize.Small, Price = 10.90M },
new { Size = PizzaSize.Medium, Price = 15.90M },
new { Size = PizzaSize.Large, Price = 20.90M },
new { Size = PizzaSize.XLarge, Price = 25.90M },
}.ToDictionary(item => item.Size, item => item.Price)
},
new {
Name = "Beefy",
Prices = new [] {
new { Size = PizzaSize.Small, Price = 10.90M },
new { Size = PizzaSize.Medium, Price = 16.90M },
new { Size = PizzaSize.Large, Price = 21.90M },
new { Size = PizzaSize.XLarge, Price = 26.90M },
}.ToDictionary(item => item.Size, item => item.Price)
},
new {
Name = "Vegetarian",
Prices = new [] {
new { Size = PizzaSize.Small, Price = 10.90M },
new { Size = PizzaSize.Medium, Price = 14.90M },
new { Size = PizzaSize.Large, Price = 19.90M },
new { Size = PizzaSize.XLarge, Price = 24.90M },
}.ToDictionary(item => item.Size, item => item.Price)
},
};
int maxNameWidth = pizzas.Max(item => item.Name.Length);
const string nameOfPizzaLabel = "Name of Pizza";
if (maxNameWidth < nameOfPizzaLabel.Length)
{
maxNameWidth = nameOfPizzaLabel.Length;
}
Console.WriteLine("what type of Pizza do you want?");
Console.WriteLine("{0} \t{1}\t{2}\t{3}\t{4}",
nameOfPizzaLabel.PadLeft(maxNameWidth),
PizzaSize.Small,
PizzaSize.Medium,
PizzaSize.Large,
PizzaSize.XLarge);
foreach (var pizza in pizzas)
{
Console.WriteLine("{0}:\t{1:C}\t{2:C}\t{3:C}\t{4:C}",
pizza.Name.PadLeft(maxNameWidth),
pizza.Prices[PizzaSize.Small],
pizza.Prices[PizzaSize.Medium],
pizza.Prices[PizzaSize.Large],
pizza.Prices[PizzaSize.XLarge]);
}
}
}