為什么我不能將值添加到已創建類中的串列中?前任。我寫 carType_list.add
class Vehicles
{
List<string> carType_list = new List<string>();
List<string> carModel_list = new List<string>();
List<int> seatCapacity_list = new List<int>();
List<string> mileageLimit_list = new List<string>();
List<double> ratings_list = new List<double>();
List<double> rentPrice_list = new List<double>();
}
uj5u.com熱心網友回復:
使用建構式
初始化所有變數的更好方法class
是使用建構式。object
建構式就像一個方法,但是在創建其中一個時呼叫它class
。你可以這樣做:
class Vehicles
{
List<string> carType_list = new List<string>();
// ... fields
// constructor
Vehicle(){
carType_list.Add("4 wheeler");
}
// ... constructors or functions
// add car or type methods, etc.
}
更好的方法(Getters 和 Setters)
目前,這些欄位不是public
,因此無法在課堂外訪問它們。如果要更新類外的欄位,強烈建議使用getter
s 和setter
s 而不是制作它們,例如:public
class Vehicles
{
// declare fields with get, set
public List<string> carType_list{ get; set; }
// ... fields
public constructor(){
carType_list = new List<string>(); // initilize
carType_list.Add("4 wheeler"); // add value
}
// ... constructors or functions
// add methods or some
}
靜態建構式
- 只能以這種方式初始化靜態欄位。
如果class
有一些static
屬性需要在不實體化的情況下啟動class
。您可以為此使用靜態建構式。
class Vehicles
{
static List<string> carType_list = new List<string>();
// ... fields
// static constructor
static Vehicle(){
carType_list.Add("4 wheeler");
}
// ... constructors or functions
}
uj5u.com熱心網友回復:
您需要公開該類及其成員,以便從外部對其進行操作:
public class Vehicles
{
public List<string> carType_list = new List<string>();
public List<string> carModel_list = new List<string>();
public List<int> seatCapacity_list = new List<int>();
public List<string> mileageLimit_list = new List<string>();
public List<double> ratings_list = new List<double>();
public List<double> rentPrice_list = new List<double>();
}
然后,您可以從外部呼叫Add()
每個串列。如果欄位保持私有,您將只能從您的類中填充串列,例如建構式或任何非靜態類方法。
理想情況下,您會將初始化移動到建構式,然后根據您的用例從其他任何地方(在類內部或外部)添加值。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/515714.html
標籤:C#
上一篇:為什么變數不會增加2倍
下一篇:不可為空的欄位必須包含非空值