gpt4 book ai didi

c# - 这两行有什么区别? (C#)

转载 作者:太空宇宙 更新时间:2023-11-03 17:47:16 25 4
gpt4 key购买 nike

在下面的斜体代码中,为什么不在myData = new string [size]前面放置“ IntIndexer”;因为Customer cust = new Customer(); (假设客户是该类的名称):

*Customer cust = new Customer();*


使用系统;

/// <summary>
/// A simple indexer example.
/// </summary>
class IntIndexer
{
private string[] myData;

public IntIndexer(int size)
{
*myData = new string[size];*

for (int i = 0; i < size; i++)
{
myData[i] = "empty";
}
}

最佳答案

要对此进行分解:

Customer cust = new Customer();


这可以分为两部分:

Customer cust;
cust = new Customer();


第一行说名称 cust将能够引用类型为 Customer的对象。第二行创建一个新的 Customer对象,并使 cust引用它。

您提供的另一个示例已经分为两个部分:

private string[] myData;


和:

myData = new string[size];


如果字符串数组的长度是恒定的,我们也可以将它折叠到 IntIndexer中的一行上(在构造函数之前)。

private string[] myData = new string[100];


但是我们需要使用传递到 size构造函数中的 IntIndexer,因此我们必须将声明和初始化分为两个步骤。

关于c# - 这两行有什么区别? (C#),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1203406/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com