(2010-07-21) LINQ Extend Method (擴充方法) #1

摘要:(200-07-21) LINQ Extend Method (擴充方法) #1

(擴充方法)Extend Method

1.建立 類別_擴充方法

 

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

namespace linqwin
{
    //將類別設定為static
    public static class MyExtensionString
    {
        //共用static
        public static Int32 doubleValue(this String str) // <==咬住
        {
            //先剖析是否可以轉換成整數
            try
            {
                Int32 r = Int32.Parse(str);
                return r * r;
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
    }
}

2.使用擴充方法

 

            String str1 = "12";
            //咬擴充功能(Method)
            Int32 r = str1.doubleValue();
            MessageBox.Show(r.ToString());

(靜態方法)static Method : 晚期繫結直接載入全域記憶體位置

1.建立 類別_靜態方法

 

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

namespace linqwin
{
  public  class MyString
  {
      //共用static
      public static Int32 doubleValue(String str)
      {
          //先剖析是否可以轉換成整數
          try
          {
              Int32 r = Int32.Parse(str);
              return r * r;
          }
          catch (Exception ex)
          {
              throw ex;
          }
      }
    }
}

2.使用靜態方法

 

      //字串
            String s1 = "5";
            //呼叫類別成員 
            Int32 r=MyString.doubleValue(s1);

            MessageBox.Show(r.ToString());

 

課程補充

字串集區觀念

 

  //建構字串物件
            //字串在new時會新產一個物件,不使用集區觀念
            String str1 = new String(new char[] { 'e', 'r', 'i', 'c' }); 
            String str2 = new String(new char[] { 'e', 'r', 'i', 'c' });
            //str3 與 str4 是集區觀念 省記憶體空間
            String str3 = "Eric";
            String str4 = "Eric";

            //物件化的method
            str4=str4.ToLower();
            MessageBox.Show(String.Format("str3:{0} str4:{1}", str3, str4));