相比較於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將 片顯示選擇的高亮樣...