最近再練習物件導向概念,我們都知道我們設class 並且創建物件並且在程式碼中導向給他設值。
今天碰到的一個問題是,假設我SQL抓出來是一個多筆的資料,我如果照以往的方式設值給物件,
發現它會因為一直設值而導致覆蓋,所以該怎麼辦呢??
多個資料如何利用物件導向概念指向?
一般如果學生資料 我們會這樣寫,先建立student 類別 ,裡面存放著name age 代表 學生的基本資料。
EX: 當我們學生名字叫做chichi 且 年齡為25 時,我們會將student 實體化(new)並將姓名 chichi 指向 name 這個物件
class student{
public string name{get;set;}
public int age {get;set;}
}
class program{
static void Main(string[] args)
{
student st = new student();
st.name = "chichi";
st.age = 25;
}
Console.WriteLine(st.name);
Console.WriteLine(st.age);
}
但在實務裡,我們除了單一指向外,其實有時是多個資料都需要指向,而且還要透過這些資料去做接下來的事情。
原本我認為就是利用ArrayList < 類別 > 去存取及可,但發現卻困難重重,必須你要自己去定義ArrayList<T> 方法
經過一番跟朋友的討論才知道,原來應該用List<T> 方便簡單許多
假設我們有兩位學生 一個叫做chichi 一個叫做 mark 分別一個25 一個29歲
我要用for 迴圈印出兩位的年齡跟姓名
class Program
{
static void Main(string[] args)
{
Program p = new Program();
//取得多個資料
List<student> students = new List<student>();
students = p.getStudents();
for(int i = 0; i < students.Count; i++)
{
Console.WriteLine(students[i].name);
Console.WriteLine(students[i].age);
}
Console.ReadLine();
}
public List<student> getStudents()
{
List<student> students = new List<student>();
students.Add(new student
{
name = "chichi",
age=25
});
students.Add(new student
{
name = "mark",
age = 29
});
return students;
}
}
class student
{
public string name { get; set; }
public int age { get; set; }
}
在糾結的時候詢問了我的大神mark 先生,卻被他問了一句。
你知道 array 跟 list 差在哪邊嗎?
昏倒QQ 我哪知道~
我又不是大神,所以決定寫在下篇 。