1. 程式人生 > >2017-9-17C#筆記(方法,方法參數 ,foreach語句)

2017-9-17C#筆記(方法,方法參數 ,foreach語句)

inter clas 移動 接口 類型轉換 如果 array 處理機 臨時

  1. 方法:

方法作為類中最常見的最有用的一個成員,算是完成特定任務,實現特定任務的重要的編程模式.

“更少的代碼,更多的復用”

(有些教程中,將方法稱為函數,函數和方法沒有本質的區別,但是通常自己寫的俄實現特定的功能的代碼塊,叫做方法;有系統簡介或者直接生成的不完整的代碼塊叫做函數.)

方法定義的一般形式:

Static 返回類型 方法名(形式參數列表)

{

聲明部分

執行部分

}

事例1:編寫方法判斷一個數是否是完全數:完全數的定義如下:它所有的真因子(即除了自己本身之外的數)的和是這個數比如6=1+2+3;

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleApplication1

{

class Program

{

static bool perfect(int n)

{

int sum = 0;

for (int i=1; i < n; i++)

if (n % i == 0)

sum = sum + i;

if (sum == n)

return true;

else

return false;

}

static void Main(string[] args)

{

int n;

Console.WriteLine("請?輸o?入¨?要°a判D斷?的ì?值|ì:êo");

n = Convert.ToInt32(Console.ReadLine());

Console.WriteLine("{0}是o?完a¨o全¨?數oy?ê?{1}", n, perfect(n));

Console.Read();

}

}

}

  1. 方法的參數

方法參數的本質是為了在調用者和方法之間實現數據的交換,是方法接口的重要組成部分。

形式參數簡稱形參,指的是方法定義時方法頭中的形式參數,這些形式參數在方法未被調用時不占據內存的存儲單元,只為了描述方內的處理機制u,其目的是用來接收調用該方法時傳入的參數。形式參數是屬於方法本身的變量,其初值來源於方法的調用,只有在程序執行過程中調用了該方法,形參才有可能得到具體的值,並參與運算,執行方法的功能。

  1. OpenTK

(1) OpenTK概述:

.NET框架為C#語言的運行提供了一套基礎庫,使用它可以開發包含從傳統的命令行或者圖形用戶界面(GUI)應用程序到ASP.NET所提供的應用程序。

如果程序開發中需要使用一些專業庫或第三方庫德功能時,需要開發者下載形影的庫資源,並安裝配置相關環境參數才能使用。

在C#語言環境下能夠開發OpenGL程序的主要兩種做法:

① 在C#中直接調用OpenGL函數

② 借助第三方開源庫,比如SharpGL,CsGL、OpenTK、Tao框架等

OpenTK的使用具有以下特點:

① 安裝部署方便,在程序中可以直接引用

② 可以跨平臺的開發,特別是支持OpenGL ES

③ 支持64位的Windows程序開發

④ 資源占用和相應速度等性能較優

⑤ 對OpenGL的版本支持在3.3以上

OpenTK是Open ToolKit的簡寫,它支持使用托管語言調用OpenGL、OpenGL|ES、OpenCL以及OpenAL的API(Application Program Interface)

OpenTK嘗試利用托管運行優勢提供一個跨平臺的統一界面。

OpenTK使用泛型取代了隱式指針,使用強大的枚舉類型取代了普通的常量,使用分類函數管理取代了普通的函數列表,並集成了一個數學庫,可被每一種API直接調用。

而OpenTK的特點如下:

① 使用C#編寫,並且可被任何托管語言直接使用。

② 操作界面統一,類型封裝完善,利於軟件的快速開發。

③ 單獨使用或繼承到Widows Forms、WPF或GTK#等其他應用程序中均可

④ 跨平臺的二進制文件形式

(2) OpenTK.Math

OpenTK定義了常用的向量、四元組以及矩陣,對便準的標量類型進行了擴充。

比如OpenTK允許用不同的方式設置GL.Color()函數的參數

GL.Color(0.0f,1.0f,1.0f);

Vector3 MyColor=new Vector3(0.0f,1.0f,1.0f);

GL.Color(MyColor);

GL.Color(Color.Cyan);//Color類的常量,青色

OpenTk.Math提供的類型定義如下:

① Vectors:

Half、Vector2h 、Vector3h 、Vector4h ;、

Single 、 Vector2、Vector3、Vector4;

Double、Vector2d、Vector3d、Vector4d;

② Quaternion:Quaternion、Quaternioned;

③ Row-Major Matrices:Matrix3d、Matrix4d、Matrix4;

上述這些類都可以被強制類型轉換和序列化。

例如: Vector2d TexCoord = new Vector2d(0.2,0.5);

Vector2h HalfTexCoord=(Vector2h)TexCoord;

Vector3h Normal=(Vector3h)Vector3.UnitX;

(3) OpenTK.Graphics

即OpenTK中有關OpenGL和ES的部分,為二維或三維圖像編程提供了強大的、跨平臺的、跨編程語言的底層圖形庫。其中ES針對多種嵌入式系統專門設計,包括控制臺、移動電話、手持設備、家電設備和汽車。

(4) OpenTK.Audio

即OpenAL(Open Audio Libary),是自由軟件界的跨平臺音效API。它設計用來表現多通道三維位置音效的特效。

(1)下載

可以通過訪問OpenTK的主頁www.OpenTK.com,下載最新版的OpenTK安裝文件,如Windows平臺下的OpenTK-2014-07-23.exe。

(2)安裝

OpenTK是一個C#語言編寫的庫,需要Mono2.0及以上(Linux/Mac OS X/Windws)或.Net2.0及以上運行時(Windows)的環境支持,同時需要根據需求安裝圖象、音頻等不同的設備驅動程序。安裝文件有兩種形式:Windows應用程序或zip壓縮文件。

(3)生成解決方案

可以通過命令行或通過集成開發環境(VS2010及以上或MonoDevelop 2.4)來生成OpenTK項目的解決方案。在VS2010中,只需打開OpenTK項目點擊生成菜單,即可完成項目的生成。OpenTK項目可以生成四種形式:發行版、調試版、Nsis版和文檔版。

需要註意,OpenTK1.0的項目需要.NET中以下庫System、

System.Data、System.Drawing、System.Windows.Forms、System.Xml。

  1. foreach語句

foreach語句用於枚舉一個集合的元素。語法定義如下:

foreach (數據類型 變量 in 數組名)

語句

使用foreach語句註意:

① foereach語句中數據類型和變量組成一個臨時帶帶變量聲明。Foreach語句使用叠代變量來連續變數數組中的每一個元素;

② 對臨時叠代變量的聲明,其數據類型可以顯示的聲明為數組中元素的類型,也可以使用var關鍵字來隱式提供他的類型,然後由編譯器根據數組的類型臨時叠代變量的類型。

③ 叠代變量是制只讀的,不能被修改

第一:對於值類型的數組不能改變數組的數據

第二:對於引用類型的數組不能改變實際數據的引用,但是實際數據有可能通過叠代變量被修改;

④ Foreach語法格式中的語句是要為數組中的每一個元素執行一次的簡單語句或語句塊;

⑤ 使用foreach語句遍歷數組時,不需要設置循環條件,數組遍歷更簡單快捷,也更安全,尤其對於多為矩形數組的遍歷,只需有一個foreach語句就可以實現。

使用foreach語句實現對一維數組的遍歷的例子L:

int[] A = { 1, 2, 3, 4, 5, 6 };

foreach (int i in A)

Console.WriteLine(i);

Console.Read();

使用foreach語句實現求交錯數組中所有元素的和

using System;

class ArraySum

{

Static void Main ()

{

Int sum=0;

Int [][] A= new int [2][];

A[0]=new int [4] {1,2,3,4};

A[1]=new int [6]{5,6,7,8,9,10};

foreach(int [] Arr in A)

foreach(int i in arr)

sum=sum+i;

Console.WriteLine(“ArraySum is {0} “,sum);

}

}

2017-9-17C#筆記(方法,方法參數 ,foreach語句)