【c#】數組使用匯總


1、二維數組初始化

public double[,] data = new double[2, 100];

Ps:
開發的時候,有試過創建長度為10000000的數組(局部變量),報錯-->“如果要創建數組,請確保大小正確”
但創建為全局變量的時候不報錯。
//據說在函數內部的變量都是在棧里,棧的大小根據編譯器有不同,一般是1M


2、二維數組清空

Array.Clear(data, 0, data.Length); //清空索引0開始的數組內容


3、數組復制

(1)二維數組 Clone

newData = (double[,])data.Clone();

 

(2)一維數組 CopyTo

int[] copy = new int[array .Length];

array.CopyTo(copy, 0);

CopyTo方法用作將源數組全部拷貝到目標數組中,可以指定目標數組的起始索引,但需確保目標數組能容納下源數組,CopyTo可用來合並多個數組。


Ps:
CopyTo()只適用於一維數組,雖然寫的時候不會報錯


4、獲取二維數組長度

int row = Arr.GetLength(0); //行數

int col = Arr.GetLength(1); //列數

 

5、截取數組

byte[] data = new byte[] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
byte[] tt = data.Skip(1).Take(data.Length).ToArray();

take的參數如果大於數組的長度,則截取到數組結束

 

6、數組批量賦相同值

int[] array = Enumerable.Repeat(0, 1000).ToArray();
//0是值,1000是數目,也就是數組的長度

7、數組作為構造函數傳參時,報TypeInitializationExeption錯誤

官方說法:https://docs.microsoft.com/zh-cn/dotnet/api/system.typeinitializationexception?redirectedfrom=MSDN&view=net-5.0


通俗點的:https://blog.csdn.net/u012576247/article/details/39435437?utm_source=blogxgwz6

如果這個參數是靜態變量的話,在執行構造函數的時候就會產生靜態成員的初始化錯誤。
最快解決方法就是不要用靜態變量作為傳參。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM