none
get和set的使用問題:自行創建物件不知如何設定 RRS feed

  • 問題

  • 以下是我的程式碼,我想創一個object他的動作是要測是我所輸入test_Name是否有超過2個陣列元素

    我不知道錯在哪哩,可以幫我修改一下嗎?

    --------------test_ultimate.cs--------------------------------

    using System;

    namespace test_ultimate
    {
        class testingName
        {
            private string testName;
            public  string testname
            {
                get
                {
                    return testName;
                }
                set
                {
                    if (value.Length > 2)
                        Console.WriteLine("true");
                    else
                        testName = value;
                }
            }
            static void Main(string[] args)
            {
                int[] testName2;
                Console.WriteLine("input three name:");
                test_Name2 = Console.ReadLine();
                test_Name = Convert.ToString(testName2);
                testingName test_Name = new testingName();
                Console.WriteLine(testingName);
                Console.ReadKey();
            }


        }
    }

    --------------------------------------------------------------

    2010年11月20日 上午 06:15

所有回覆

  • private static string testName;
    public static string testname {
        get {
            return testName;
        }
        set {
            if (value.Length > 2)
                Console.WriteLine("true");
            else
                testName = value;
        }
    }
    static void Main(string[] args) {
        Console.WriteLine("input three name:");
        testname = Console.ReadLine();
        Console.WriteLine(testname);
        Console.ReadKey();
    }
    2010年11月20日 上午 06:35
  • hi~

    請參考看看.....

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    
    namespace test_ultimate
    {
      class Program
      {
        static void Main(string[] args)
        {
          // 提問者原本的寫法
          //int[] testName2;
          //Console.WriteLine("input three name:");
          //test_Name2 = Console.ReadLine();
          //test_Name = Convert.ToString(testName2);
          //testingName test_Name = new testingName();
          //Console.WriteLine(testingName);
          //Console.ReadKey();
    
          // 建議的寫法
          Console.WriteLine("請輸入您的名子,並以空一格作為識別...例: Marry John Nobel");
          // 建立 string型別參數 ConsoleEnter,並把 User 輸入值代入
          string ConsoleEnter = Console.ReadLine(); 
          //把 User 輸入的值用 Split 方法來取得所輸入陣列數
          string[] tempEnter = ConsoleEnter.Split(' ');
          // 建立 testingName 類別實體
          testingName TN = new testingName();
          TN.testname = ConsoleEnter; //把使用者輸入的值代入給 Tn.testname
          TN.CountMyEnter = tempEnter.Length; // 把陣列長度傳入給 Tn.CountMyEnter
          Console.ReadKey();
    
    
    
        }
      }
    
      class testingName
      {
        // 提問者 原本的內容,建議如果沒有特別的需求可以把 testname 整段去除
        private string testName01;
        public string testname
        {
          get
          {
            return testName01;
          }
          set { testName01 = value; }
        }
    
        // 這段是用來判別是否有超過2 --> 依你想要的,即建立自己的類別及參數,然後提供 Main 來呼叫
        private int countNumber;
        public int CountMyEnter
        {
          get { return countNumber; }
          set
          {
            if ( value > 2)
            {
              Console.WriteLine("是否為超過 2 個陣列:true");
            }
            else
            {
              Console.WriteLine("是否為超過 2 個陣列:false");
            }
          }
        }
      }
    }
    
    

     

     


    逐步學習,逐夢踏實;腳步要踩穩,這樣下一步才不會跌倒。 http://www.dotblogs.com.tw/nobel12
    2010年11月22日 上午 02:19
  • 請問這問題解決了嗎 ?
    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。
    2010年11月30日 下午 06:52
    版主