我有一個名爲Buffer
的數組。我正在使用for循環將其內容初始化爲0
。我如何在C#中的單個語句中執行此操作?我不想使用for循環。如何將數組初始化爲0而不使用for循環中的C#
byte[] Buffer = new byte[50];
int arrC = 0;
// array initialization
for (arrC = 0; arrC < 50; arrC++)
{
Buffer[arrC] = 0;
}
我有一個名爲Buffer
的數組。我正在使用for循環將其內容初始化爲0
。我如何在C#中的單個語句中執行此操作?我不想使用for循環。如何將數組初始化爲0而不使用for循環中的C#
byte[] Buffer = new byte[50];
int arrC = 0;
// array initialization
for (arrC = 0; arrC < 50; arrC++)
{
Buffer[arrC] = 0;
}
你不這樣做,你不必這樣做。 byte
的默認值爲0
。
因此,如果您創建了一個類型爲byte[]
的數組,則陣列中的每個項目都具有默認值0
。
爲什麼downvote?這個答案是正確的。如果你有更好的答案,請發佈。 –
當你有byte
一個數組,具有一定的價值,然後你要替換其整個項目0
的方式是:
buffer = new byte[buffer.Length];
或
buffer = buffer.Select(c => (byte)0).ToArray();
或 - 作爲評論by @Matthew Watson--我認爲這是將陣列物品設置爲其默認設置的最佳選擇
Array.Clear(buffer, 0, buffer.Length);
你的答案似乎錯過了它關於初始值的觀點,而不是關於替換數組中現有的值。然而,如果你想用**非默認**值進行初始化,你的LINQ建議是OP的工作解決方案。 – Flater
我想和希望,OP想要將現有數組的項目替換爲'0';)。 –
那麼如果OP想要將現有元素設置爲零,他們應該使用['Array.Clear()'](https://msdn.microsoft.com/en-us/library/system.array.clear%28v= vs.110%29.aspx?f = 255&MSPPError = -2147217396) –
數組已被初始化爲0,因爲'default(byte)'爲'0' – DiskJunky
[在C#中創建新字節數組時,什麼是字節的默認值?](https:// stackoverflow。 com/questions/22506274/in-c-sharp-what-the-default-value-of-bytes-when-creating-a-new-byte-array) – SeM