3 回答

TA貢獻1820條經驗 獲得超10個贊
是的。
最明顯的方法是使用類的構造函數:
class X
{
public int[] MyArray
{
get;
set;
}
public X(int arrayLength)
{
MyArray = new int[arrayLength];
}
}
您現在可以使用以下方法實例化它:
X myX = new X(5);
您還可以使用它的屬性實例化一個類:
class X
{
public int[] MyArray
{
get;
set;
}
public int ArrayLength
{
set
{
MyArray = new int[value];
}
}
}
并按如下方式調用它:
X myX = new X { ArrayLength = 5};
我會選擇第一個選項......

TA貢獻1813條經驗 獲得超2個贊
是的
public class MyClass
{
private readonly string[] _myArray;
public MyClass(int arrayLength)
{
_myArray = new string[arrayLength];
}
}
var myClass = new MyClass(5);

TA貢獻1777條經驗 獲得超10個贊
您可以將長度作為構造函數參數傳遞。構造函數看起來像一個與類同名的方法,但沒有返回類型(甚至沒有void)。
public class MyClass
{
public MyClass(int arrayLength)
{
MyArray = new string[arrayLength];
}
public string[] MyArray { get; }
}
此解決方案使用 getter only 屬性。您可以在構造函數中或使用屬性初始化程序對其進行初始化,但是一旦創建了對象,它就是只讀的。
您可以像這樣創建一個MyClass對象:
var obj = new MyClass(10);
string firstElementOfArray = obj.MyArray[0];
string lastElementOfArray = obj.MyArray[9];
但是請選擇比MyClassor更好的名字MyArray。真實姓名必須提供信息。一個類可以命名為StudentorVehicle或Invoice。該數組可以命名為Grades,Passengers或InvoiceLineItems。
但是根據您的要求,該數組可以只是一個私有字段,不能從類外部訪問。
- 3 回答
- 0 關注
- 126 瀏覽
添加回答
舉報