就是多個型別相同的變數,連續地放在記憶體中。
c#中陣列宣告為
int a;a=new int [length];
與c++
的int a[length];
不同。
static void main(string args)
;//申請陣列空間並對陣列設定初始值,放在大括號中。
a = new int[5];//陣列宣告之後,可以分配任意大小的陣列。
a = new int ;也可以省略陣列的大小
int b = ;//如果提供了初始值,還可以省略new運算子。
//多維陣列
int[,] c = new int[2, 3];//an array whose capacity is 2 rows 3 columns
c=new int [2,3] ,
};console.write(c[1, 1]);//out 5
}
允許把不同型別變數連續地放在一起。
//arraylist,陣列列表,的定義與使用
using system;
using system.collections;//arraylist所在類庫
using system.linq;
using system.text;
console.read();
}}}/*
輸出;* hello
* 1.23
*/
類似c++ vector.
using system;
using system.collections.generic;
public class example
", dinosaurs.capacity);
dinosaurs.add("tyrannosaurus");
dinosaurs.add("amargasaurus");
dinosaurs.add("mamenchisaurus");
dinosaurs.add("deinonychus");
dinosaurs.add("compsognathus");
console.writeline();
foreach(string dinosaur in dinosaurs)
console.writeline("\ncapacity: ", dinosaurs.capacity);
console.writeline("count: ", dinosaurs.count);
console.writeline("\ncontains(\"deinonychus\"): ",
dinosaurs.contains("deinonychus"));
console.writeline("\ninsert(2, \"compsognathus\")");
dinosaurs.insert(2, "compsognathus");
console.writeline();
foreach(string dinosaur in dinosaurs)
console.writeline("\ndinosaurs[3]: ", dinosaurs[3]);
console.writeline("\nremove(\"compsognathus\")");
dinosaurs.remove("compsognathus");
console.writeline();
foreach(string dinosaur in dinosaurs)
dinosaurs.trimexcess();
console.writeline("\ntrimexcess()");
console.writeline("capacity: ", dinosaurs.capacity);
console.writeline("count: ", dinosaurs.count);
dinosaurs.clear();
console.writeline("\nclear()");
console.writeline("capacity: ", dinosaurs.capacity);
console.writeline("count: ", dinosaurs.count);
}}/* this code example produces the following output:
capacity: 0
tyrannosaurus
amargasaurus
mamenchisaurus
deinonychus
compsognathus
capacity: 8
count: 5
contains("deinonychus"): true
insert(2, "compsognathus")
tyrannosaurus
amargasaurus
compsognathus
mamenchisaurus
deinonychus
compsognathus
dinosaurs[3]: mamenchisaurus
remove("compsognathus")
tyrannosaurus
amargasaurus
mamenchisaurus
deinonychus
compsognathus
trimexcess()
capacity: 5
count: 5
clear()
capacity: 5
count: 0
*/
tolist()
using system;
using system.collections.generic;
using system.text;
using system.linq;
namespace cc
; list
lengths = fruits.select(fruit => fruit.length).tolist();
foreach (int length in lengths)
console.read();
}}}/*
this code produces the following output:512
6569
510
*/
distinct 自定義比較規則
注意這是乙個非變異演算法,返回的是去重的,原物件內容沒變。
//list< t > distinct 自定義比較規則
using system;
using system.collections.generic;
using system.linq;
using system.text;
private myequalscomparer
_equalscomparer; public bool equals(t x, t y) public int gethashcode(t x) //iequalitycomparer介面中的函式,必須實現 } class rectangle ,b=\n",a,this.b); } static void main(string args) , new rectangle, new rectangle, new rectangle, new rectangle }; list
ob_list_2 = ob_list.distinct().tolist(); foreach (var x in ob_list_2) x.show(); console.writeline("");//預設比較規則 ob_list_2 = ob_list.distinct(new mycomparer
((x, y) => )).tolist(); foreach (var x in ob_list_2) x.show(); console.read(); } } } /* a=1,b=2 a=1,b=3 a=1,b=2 a=2,b=3 a=2,b=3 a=1,b=2 a=2,b=3 */
語法
foreach (型別 變數var in 集合、陣列) 功能
類似for迴圈,依次遍歷陣列中的每個變數。
變數var是唯讀型別,不可更改其值,否則編譯器報錯。
C 陣列列表操作總結
c 對於 列表和陣列的操作非常不友好,我會逐漸的把常用列表,陣列操作總結於此 0.c 中記時的兩種方式 int t1 environment.tickcount your code goes here console.writeline tid environment.tickcount t1 co...
shell 列表 陣列
shell的列表 陣列?絕對是讓我最迷惑的語法 沒有之一 在 和 和分號之間糾結已久。忘了哪本書裡有這句話,記下來了。returns all the items as a single word,whereas returns each item as a separate word.在做筆記前先寫...
列表轉為陣列
是陣列,已經想到解決辦法,貼出 給大家參考 set arr 0 a set arr 1 b set arr 2 c set name b 就刪除值為b的元素 set templist array get arr set pos lsearch exact templist name set temp...