编辑:更改了System.Array.Clear(new [] {1,2,3},0,2);到System.Array.Clear(numbers,0,2);但获得输出[0,z0,z3]并期待[0,0,3]
我正在学习C#,目前正在学习数组和Clear()。当尝试查看使用Clear()会发生什么时,我得到以下输出:
我不明白为什么会这样。是不是应该是[0,0,3]?
我的代码如下:
Program.cs
@client.event
async def on_message(message):
To = client.get_channel('channel_id')
await client.send_message(To, f"SERVER: {message.server.name} CHANNEL: {message.channel} AUTHOR: {message.author.name} MESSAGE: {message.content}")
Arrays.cs
namespace Introduction
{
internal class Program
{
/* MAIN FUNCTION */
public static void Main()
{
// RunControlFlow();
RunArrays();
}
/* ARRAYS */
public static void RunArrays()
{
// Var declaration
var array = new Arrays.Array();
array.Manipulation();
}
}
}
答案 0 :(得分:5)
您没有将numbers
数组传递给Clear
方法,而是创建了一个具有相同元素的新数组,但这是一个完全不同的引用,并且与{{1 }}。这就是numbers
中的值保持不变的原因:
numbers