我是新手,所以越简单越好。我创建了一个类,其中包含项目的详细信息,例如项目名称,价格和描述。我创建了一个构造函数,以便在创建时初始化对象。
//mediaPicker is your UIImagePickerController
func navigationController(navigationController: UINavigationController, willShowViewController viewController: UIViewController, animated: Bool) {
if(mediaPicker.sourceType == UIImagePickerControllerSourceType.PhotoLibrary){
let button = UIBarButtonItem(title: "Take picture", style: UIBarButtonItemStyle.Plain, target: self, action: "showCamera")
viewController.navigationItem.rightBarButtonItem = button
}else{
let button = UIBarButtonItem(title: "Choose picture", style: UIBarButtonItemStyle.Plain, target: self, action: "choosePicture")
viewController.navigationItem.rightBarButtonItem = button
viewController.navigationController?.navigationBarHidden = false
viewController.navigationController?.navigationBar.translucent = true
}
}
func showCamera(){
mediaPicker.sourceType = UIImagePickerControllerSourceType.Camera
}
func choosePicture(){
mediaPicker.sourceType = UIImagePickerControllerSourceType.PhotoLibrary
}
在主类中,我创建了一个class Item
{
string itemName;
double price;
string description;
public Item(string itemName, double price, string description)
{
this.itemName = itemName;
this.price = price;
this.description = description;
}
}
个对象和该类的两个对象。然后我在List
中添加了两个对象。如何显示每个对象及其值?我试图使用foreach,但我无法弄清楚如何。
List
答案 0 :(得分:4)
公共领域的类似内容:
foreach (Item s in items)
{
Console.WriteLine("{0} {1} {2}", s.itemName, s.price, s.description);
}
或者您可以覆盖ToString()方法:
class Item
{
/// your code
public override string ToString()
{
return string.Format("{0} {1} {2}", itemName, price, description);
// or in C# 6 in Visual Studio 2015:
// return $"{itemName} {price} {description}";
}
答案 1 :(得分:1)
您可以为此目的覆盖ToString
方法,如下所示:
public override string ToString()
{
return string.Format("itemName = {0} , price = {1} , description = {2}", itemName, price, description);
}
甚至更好用字符串插值(c#6):
public override string ToString()
{
return $"itemName = {itemName} , price = {price} , description = {description}";
}
答案 2 :(得分:1)
只需覆盖ToString
即可获得所需的字符串输出。
public override string ToString()
{
return string.Format("{0}{1}{2}", itemName, price, description);
}