C#語法學習三(Method)

// 簡單方法的應用,沒有帶參數
using  System;
namespace  Athrun
{
    
class  Method
    {
        
public   static   void  MyMethod()
        {
            Console.WriteLine(
" this is a method " );
        }
        
static   void  Main()
        {
            MyMethod();
        }
    }
}
 
// 有返回值的方法
using  System;
namespace  Athrun
{
    
class  Method
    {
        
public   static  DateTime MyMethod()
        {
            
return  DateTime.Now;
        }
        
static   void  Main()
        {
            Console.WriteLine(
" Now time is {0} " ,MyMethod());
        }
    }
}
 
// 帶參數的方法
using  System;
namespace  Athrun
{
    
class  Method
    {
        
public   static   void  MyMethod( string  aName)
        {
            Console.WriteLine(
" this Name is  "   +  aName  +   " \n " );
        }
        
static   void  Main()
        {
            
string  s = "  帶參數的方法 " ;
            MyMethod(s);
        }
    }
}
 
// 帶參數的方法
using  System;
namespace  Athrun
{
    
class  Method
    {
        
public   static   void  MyMethod( string  aName)
        {
            Console.WriteLine(
" this Name is  "   +  aName  +   " \n " );
        }
        
static   void  Main()
        {
            
string  TempName = "" ;
            
while  (TempName != " end " )
            {
                TempName
= Console.ReadLine();
                MyMethod(TempName);
            }
        }
    }
}
// 帶參數的方法
using  System;
namespace  Athrun
{
    
class  Method
    {
        
public   static   int  add( int  i, int  j)
        {
            
return  i + j;
        }
        
static   void  Main()
        {
            
int  i = 5 ;
            
int  j = 3 ;
            Console.WriteLine(
" i+j= "   +  add(i,j));
        }
    }
}
 
 

using System;
namespace Athrun
{
    
class Method
    {
        
class A
        {
            
//類中的靜態成員變量在各個實例中是共享的

            //如果去掉static變成public int i=0;則程序會出錯,"非靜態的字段,方法,屬性"也就是說非靜態的不能直接用類來訪問,只能用實例來訪問.
            public static int i=0;
            
public void addi()
            {
                i
=i+1;
            }
        }
        
static void Main()
        {
            A a
=new A();
            a.addi();
            A b
=new A();
            b.addi();
            Console.WriteLine(A.i);
        }
    }
}

 
 
/*
 * Created by SharpDevelop.
 * User: Administrator
 * Date: 2008/8/26
 * Time: 下午 07:35
 * 
 * To change this template use Tools | Options | Coding | Edit Standard Headers.
 
*/
// 方法的參數傳遞有三個不同的方式:值傳遞,引用傳遞,輸出參數傳遞
/*
引用傳參和輸出參數都是以引用類型來傳遞其地址的,這兩者唯一不同的是
 * 用輸出參數時必需在方法內對數數進行初始化,而用引用方式時必須在調用外
 * 對參數進行初始化.
 * 
 * 
*/
 
 
using  System;
class  Method
{
    
// 值傳遞方式
     public   static   void  ValueMethod( int  i)
    {
        i
++ ;
    }
    
// 引用傳參方式
     public   static   void  RefMethod( ref   int  i)
    {
        i
++ ;
    }
    
// 帶輸出參數的方法
     public   static   void  OutMethod( out   int  i)
    {
        i
= 0 ;
        i
++ ;
    }    
    
    
static   void  Main()
    {
        
int  i = 0 ;
        ValueMethod(i);
        Console.WriteLine(
" i={0} " ,i);
        
int  j = 0 ;
        RefMethod(
ref  j);
        Console.WriteLine(
" j={0} " ,j);
        
int  k;
        OutMethod(
out  k);
        Console.WriteLine(
" k={0} " ,k);
    }
}
/*
 * Created by SharpDevelop.
 * User: Administrator
 * Date: 2008/8/26
 * Time: 下午 07:47
 * 可變數量參數的方法
 *                    值類型                                 引用類型
 * 變量中存放         真正的數據                             指向數據的指針
 * 內存空間分配       椎棧(stack)                            托管堆中(managed heap)
 * 內存需求           一般來說輸少                           較大
 * 執行效能           較快                                   較慢
 * 內存釋放時間點     執行超過定議變量的作用域               由回收站負責回收
 * 可以為null         不可                                   可以
 * 特定條件中值類型需要進行裝箱和拆箱的操作這樣會影響它的性能.
 * 字符串也是一個引用類型的,但字符串有所不同,字符串是一個新對像.
 * 新對像最大的一個特點就是它是不可變的

 * 
 * 
 * To change this template use Tools | Options | Coding | Edit Standard Headers.
 
*/
 
using  System;
 
class  Method
 {
     
static   void  setstr( string  s)
     {
         s
= " 123456789 " ;
     }
     
static   int  addi( params   int [] values)
     {
         
int  sum = 0 ;
         
foreach  ( int  i  in  values)
             sum
+= i;
         
return  sum;
     }
     
// 數組是引用類型
      static   void  printarr( int [] arr)
     {
         
for ( int  i = 0 ;i < arr.Length;i ++ )
             arr[i]
= i;
     }
     
static   void  Main()
     {
//          int[] arr=new int[]{100,200,300,400,500,600,700,800,900,1000};
//          printarr(arr);
//          foreach (int i in arr)
//              Console.WriteLine(i+", ");
             
// Console.WriteLine(addi(a));
              string  s = " 3333 " ;
             setstr(s);
             Console.WriteLine(s);
     }
 }

你可能感兴趣的:(method)