日期:2014-05-17  浏览次数:20915 次

关于list类型
List我查看帮助,
表示可通过索引访问的对象的强类型列表。 提供用于对列表进行搜索、排序和操作的方法。
[SerializableAttribute]
public class List<T> : IList<T>, ICollection<T>, 
IEnumerable<T>, IList, ICollection, IEnumerable


问题:我看得还是一头雾水,public List<Order> GetAllOrders() 是什么意思?


C# code

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using NorthwindPrjModel;
using System.Data.SqlClient;

namespace NorthwindPrjDAL
{
    public class OrderDAL
    {
        public List<Order> GetAllOrders()
        {
            string sql = "SELECT OrderID,Freight,ShipName,ShipAddress,ShipCity,ShipCountry FROM Orders";
            SqlDataReader sdr = SqlHelper.GetReader(sql);
            List<Order> orders = new List<Order>();
            while (sdr.Read())
            {
                Order order = new Order();
                order.OrderID = sdr.GetInt32(0);
                order.Freight = sdr.GetDecimal(1);
                order.ShipName = sdr.GetString(2);
                order.ShipAddress = sdr.GetString(3);
                order.ShipCity = sdr.GetString(4);
                order.ShipCountry = sdr.GetString(5);
                orders.Add(order);
            }
            sdr.Close();
            return orders;
        }

        public List<string> GetShipCountries()
        {
            string sql = "select distinct ShipCountry from orders";
            SqlDataReader sdr = SqlHelper.GetReader(sql);
            List<string> countries = new List<string>();
            while (sdr.Read())
            {
                countries.Add(sdr.GetString(0));
            }
            sdr.Close();
            return countries;
        }
    }
}





------解决方案--------------------
Order是一个实体类,里面包含了这个order实体的属性,List<order> 泛型集合,存储order这个实体的所有属性, 每次存储相当于存了一个实体。形象的就是数据库里一行看成一个实体(一个order),public List<Order> GetAllOrders() 把你要的数据一行行存起了,像一个表一样。最好用IList 提高效率,可以查下list和Ilist的区别。
------解决方案--------------------
探讨

Order是一个实体类,里面包含了这个order实体的属性,List<order> 泛型集合,存储order这个实体的所有属性, 每次存储相当于存了一个实体。形象的就是数据库里一行看成一个实体(一个order),public List<Order> GetAllOrders() 把你要的数据一行行存起了,像一个表一样。最好用IList 提高效率,可以查下list和Ilist的区别。

------解决方案--------------------
GetAllOrders() 是个方法,返回数据库中所有的Order数据
List<Order> 是返回类型,用于存放返回的数据,存放在客户端机器的内存里
------解决方案--------------------
GetAllOrders():是该类的一个方法名称
List<Order>:是GetAllOrders()方法返回的一个Order类型的数组
------解决方案--------------------
GetAllOrders():是一个方法名称
List<Order>:是该方法返回的一个Order类型的数组