3

我只是在制作这个程序来试验列表等,我很好奇为什么在 foreach 循环中对象总是显示为“Minecraft”Wish 对象。是因为它是最后一个创建的 Wish 对象吗?我该如何解决它,所以所有 3 个已声明的 Wish 对象都会显示出来?谢谢!


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            Wish iPod = new Wish("iPod", "Various", 299.00);
            Wish Phone = new Wish("New Phone", "Various", 00.00);
            Wish Minecraft = new Wish("Minecraft Account", "www.minecraft.net", 30.00);

            List<Wish> Wishlist = new List<Wish>();
            Wishlist.Add(Phone);
            Wishlist.Add(iPod);
            Wishlist.Add(Minecraft);
            Console.WriteLine("Toby's Wishlist");
            Console.WriteLine("If cost is 00.00, the Wish's cost varies.");
            Console.WriteLine("              ");
            foreach (Wish wish in Wishlist)
            {
                Console.WriteLine("---Wish---");
                Console.WriteLine("Name: {0}", wish.getName());
                Console.WriteLine("Store: {0}", wish.getStore());
                Console.WriteLine("Cost: ${0}", wish.getCost().ToString());
                Console.WriteLine("----------");
                Console.WriteLine("           ");
            }
            Console.ReadLine();

        }
    }
    public class Wish
    {
        static string Name, Store;
        static double ApproxCost;
        public Wish(string name, string store, double approxCost)
        {
            Name = name;
            Store = store;
            ApproxCost = approxCost;
        }

        public string getName()
        {
            return Name;
        }
        public string getStore()
        {
            return Store;
        }
        public double getCost()
        {
            return ApproxCost;
        }
    }
}
4

2 回答 2

8

staticWish成员声明中删除

static意味着数据将在所有实例之间共享。所以static成员也就是所谓的类变量。虽然不是静态成员 - 是对象变量。

于 2012-11-18T00:13:23.337 回答
1

这是因为在希望类中,您将 Name、Score 和 ApproxCost 声明为静态。

于 2012-11-18T00:13:46.753 回答