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 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 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 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 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
{
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: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);
}
}
* 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);
}
}
申明
非源创博文中的内容均收集自网上,若有侵权之处,请及时联络,我会在第一时间内删除.再次说声抱歉!!!
博文欢迎转载,但请给出原文连接。