我有3个字符串,这些不是真正的数据只是一个例子:
string items = "Item 1, Item 2, Item 3";
string price = "300, 400, 500";
string tax = "30, 50, 60";
我要做的是创建一个这样的数组:
[Item 1] => Array([Price] => 300, [Tax] => 30), [Item 2] => Array([Price] => 400, [Tax] => 50), [Item 3] => Array([Price] => 500, [Tax] => 60)
问题是我不知道如何在ASP.NET中执行此操作,如果我必须在PHP中执行此操作,这将没有问题。
答案 0 :(得分:5)
在C#中,您可能会声明一个类:
class Item {
public string Name { get; set; }
public decimal Price { get; set; }
public decimal Tax { get; set; }
}
然后您可以将字符串拆分为数组并将其解析为Item
列表:
string items = "Item 1, Item 2, Item 3";
string price = "300, 400, 500";
string tax = "30, 50, 60";
var names = items.Split(',');
var prices = price.Split(',');
var taxes = tax.Split(',');
var list = new List<Item>();
for (int i = 0; i < names.Length; i++) {
list.Add(new Item() {
Name = names[i].Trim(),
Price = decimal.Parse(prices[i]),
Tax = decimal.Parse(taxes[i])
});
}
以上是非常脆弱的:我假设每个列表具有相同数量的元素,并且没有处理将字符串转换为十进制的解析失败;但是你明白了。
这是运行上述代码的fiddle。