c 陣列 陣列列表 列表 foreach

2021-06-22 07:44:52 字數 4276 閱讀 4066

就是多個型別相同的變數,連續地放在記憶體中。

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...