gpt4 book ai didi

c# - 将数据存储在数组、对象、结构、列表或类中。 C#

转载 作者:行者123 更新时间:2023-11-30 18:54:41 25 4
gpt4 key购买 nike

我想制作一个存储电话的程序,例如:

Brand:    Samsung
Type: Galaxy S3
Price: 199.95
Ammount: 45
-------------------
Brand: LG
Type: Cookie
Price: 65.00
Ammount: 13
-------------------
etc, etc, etc,

这样做的最佳做法是什么?
php 中我应该做的:

$phones = array(
array(
array("Brand" => "Samsung"),
array("Type" => "Galaxy S3"),
array("Price" => 199.95),
array("Ammount" => 45)
),
array(
array("Brand" => "LG"),
array("Type" => "Cookie"),
array("Price" => 65.00),
array("Ammount" => 13)
)
)

这在C#中是否也可行,因为我不知道列表中有多少电话,而且数据类型不同:stringdecimal 整数。我不知道该用什么,因为你有 listsstructsobjectsclasses 等等。

提前致谢!

最佳答案

使用像这样的类:

public class Phone
{
public string Brand { get; set; }
public string Type { get; set; }
public decimal Price { get; set; }
public int Amount { get; set; }
}

然后你可以填一个List<Phone> ,例如 collection initializer语法:

var phones = new List<Phone> { 
new Phone{
Brand = "Samsung", Type ="Galaxy S3", Price=199.95m, Amount=45
},
new Phone{
Brand = "LG", Type ="Cookie", Price=65.00m, Amount=13
} // etc..
};

... 或与 List.Add 循环.

填满列表后,您可以循环它以一次获取一部手机

例如:

foreach(Phone p in phones)
Console.WriteLine("Brand:{0}, Type:{1} Price:{2} Amount:{3}", p.Brand,p.Type,p.Price,p.Amount);

或者您可以使用列表索引器访问给定索引处的特定电话:

Phone firstPhone = phones[0]; // note that you get an exception if the list is empty

或通过 LINQ 扩展方法:

Phone firstPhone = phones.First(); 
Phone lastPhone = phones.Last();
// get total-price of all phones:
decimal totalPrice = phones.Sum(p => p.Price);
// get average-price of all phones:
decimal averagePrice = phones.Average(p => p.Price);

关于c# - 将数据存储在数组、对象、结构、列表或类中。 C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26157154/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com