簡體   English   中英

在列表中添加對象,我這樣做對嗎?

[英]adding objects in a list, am i doing it right?

namespace ConsoleApplication13
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("how many footballs would you want?");

            int amount = int.Parse(Console.ReadLine());
            List<football> ballist = new List<football>();

            for (int i = 0; i < amount; i++)
            {
                Console.WriteLine("how much should football {0} weigh?", i+1);
                int weight = int.Parse(Console.ReadLine());
                ballist.Add(new football(weight));
            }

            Console.WriteLine("amount of footballs is {0}", amount);            
            ballist.ForEach(s => Console.WriteLine(s.GetWeight()));
            Console.ReadLine();

        }
    }

    class football
    {
        private int weight = 0;

        public int GetWeight()
        {
            return weight;

        }

        public football(int weigh)
            {
            weight = weigh;
            }

    }
}

在列表中添加對象,我這樣做對嗎?

另一種可能是讓用戶輸入所有的權一氣呵成 ,並生成列表:

  Console.WriteLine("please, input footballs' weights separated by comma");

  String input = Console.ReadLine();

  List<football> ballist = input
    .Split(',')
    .Select(item => new football(int.Parse(item)))
    .ToList();

關於Football課的一些建議

  // We usually start classes with capital letter
  class Football {
    private int m_Weight;

    // C# is not Java, so use properties, which are more readable
    public int Weight {
      get {
        return m_Weight;
      }
      private set {
        // validate input
        if (value <= 0)
          throw new ArgumentOutOfRangeException("value"); 

        m_Weight = value;  
      }
    }

    // "weight" - let argument correspond to property
    public football(int weight) {
      Weight = weight;
    }
  }

添加到列表是正確的。 我建議您使用屬性作為“權重”。

    class football
    {
        public int weight { get; set; }
    }

如果您不想在獲取/設置上有任何代碼。

public int _weight;
public int weight
{
    get
    {
        //Your Code here
        return _weight;
     }
     set
     {
         //And Here
         _weight = value;
     }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM