塔 第 一 條 約 定

2022-03-30 19:22:45 字數 3940 閱讀 1106

相比較於c語言可以說說陣列在定義宣告的語法存在一些不同,在c#中的語法是這樣的:

資料型別 陣列名稱 = new 資料型別[元素個數] //而這裡字串型別是string 不是char;

例如 int a=new int[10];

舉個氣泡排序的例子:

int a = ;//直接賦值

int i,j,temp;

for (i = 0; i < a.length-1 ; i++)是陣列元素個數;

for(j = 0 ;j < a.length-1-i ; j++)

}for(i=0;i-從網上查到還有好多功能,例如查詢,刪除所以元素,排序等;

-a.removerange(1,3);//是刪除alist動態陣列中a[1]到a[3]的元素;

-查詢:a=alist.indexof(查詢的元素);//找到,則返回查詢到的元素個數

b=alist.indexof(查詢的元素);//沒找到,返回-1

(arrylist 部分就寫這麼多了,例子大部分在**裡)

泛型的好處:它為使用c#語言編寫物件導向程式增加了極大的效力和靈活性。不會強行對值型別進行裝箱和拆箱,或對引用型別進行向下強制型別轉換,所以效能得到提高。

宣告:list《資料型別》 名稱 = new list《資料型別》();//與動態陣列類似,括號中存放陣列

對於陣列元素的刪除,新增,判斷元素存在的語法像動態陣列的語法一樣,同樣的a.add(),a.remove(),a.contains();其中a.contains( );返回true或者false。

string a = ;

listmlist = new list(a);

mlist.add("f");//在末尾新增元素

mlist.insert(2, "x");//插入新增元素

for (int i = 0; i < mlist.count; i++)

console.writeline();

mlist.sort();//排序(公升序);

for(int i=0;i);

console.writeline(c);//輸出e

/*在整個大括號裡,是元素查詢條件,若符合則返回true,否則false

*最後輸出c 來判斷其中是否存在符合條件的元素,若不符合則不輸出,按順序找到首個符合條件的元素就結束*/

//對於list.findlast是相反逆序,方法與以上類似

還有其他函式:

-list.trueforall: 確定是否list中的每個元素都與指定的謂詞所定義的條件相匹配。

-語法:bool flag = list.trueforall(.... ) 與find函式類似

-list.findall:檢索與指定謂詞所定義的條件相匹配的所有元素。

-語法:listlist2 = list.findall(listfind(函式));

-listfind函式:

public 

bool listfind(string name) 

return false; 

}

-list.take(n):獲得前n行 返回值為ienumetable,t的型別與list的型別一樣。

-語法:ienumerablelist3 = list.take(n)//list3存放list的前n個元素。

-list.where:與list.findall相似

-語法:ienumerablewherelist = mlist.where(...);

-list.removeall :移除符合條件的元素

-語法:list.removeall(....);

使用到的命名空間:system.collections

宣告:hashtable table = new hashtable(); //與以上集合類似

這裡hashtable 是成對出現的有key和value相互對應;內涵可以有很多種

例子:

using system;

using system.collections; //file使用hashtable時,必須引入這個命名空間

class program

}

可以使用不同的資料型別不一定要字串對字串的key和value

可以有兩種方法遍歷雜湊表 按照key或者value 使用時的表明方法 : table.keys or table.values;

如果想要更詳細,來自大佬的部落格

這個整理不下去了t.t

感覺這個和之前的雜湊表很像,宣告:dictionary《資料型別,資料型別》 名稱 = new dictionary《資料型別,資料型別》();//前後需對應,也對應key和value

經過前面的幾種型別,可以看出它們都是同一性質的東西(鄙人不才)

懶到直接截圖了。

例子:

stack st = new stack();

st.push('a');//新增

st.push('m');

st.push('g');

st.push('w');

console.writeline("current stack: ");

foreach (char c in st)//遍歷st

console.writeline();

st.push('v');

st.push('h');

console.writeline("the next poppable value in stack: ",

st.peek());//返回到首個元素,移動到首個元素的位置

console.writeline("current stack: ");

foreach (char c in st)

console.writeline();

console.writeline("removing values ");

st.pop();//移除首個元素

(已吐出一口老血)

這個可以說與stack類似但是儲存方式不同(在計算機導論中說過)

queue:

!(區別stack:

!(語法:!(

例子就不寫了。。。

詳細的知識有例項

c#中for、while、switch與c語言中無多大差別。

語法:foreach(資料型別 名稱1 in 名稱2) 名稱1是在大括號裡使用,名稱二是來自陣列的名稱。例如

int s = new int[10];

int i;

for(i=0;i<10;i++)

foreach(int m in s)

以上的歸納,如果有錯,望路過大佬、大牛指出來,謝謝!

星 辰 第 一 條 約 定

因為在寫部落格時大部分使用的時markdown編輯器編寫,個人認為自己把其一些操作方法整理下來,省得自己遇到不懂時還去網上翻半天它的操作,大部分從一些 上略寫下來。順便照應一些任務 大標題 小標題 利用 個數分成 一 二 三 四級標題 方法 發布後的文字連線 連線的位址 內容 引用自 效果 加粗 左...

第一條部落格

第一條部落格 csdn的這個markdown看起來好高大上啊,但是看不懂啊.本部落格是記錄dsp相關數字電源部分的學習的,這是我的第一條csdn部落格,第一次接觸csdn是在初中的時候到現在大學畢業工作第一年已有十年有餘。大學四年在遊戲中虛度,大三下學期開始接觸開關電源,本身學校普通不能再普通的本科...

第一條CSDN部落格!

第一條csdn部落格!你好!這是你第一次使用markdown編輯器所展示的歡迎頁。如果你想學習如何使用markdown編輯器,可以仔細閱讀這篇文章,了解一下markdown的基本語法知識。全新的介面設計,將會帶來全新的寫作體驗 在創作中心設定你喜愛的 高亮樣式,markdown將 片顯示選擇的高亮樣...