[問題] Webform 中 Request.Form 的作法

看板C_Sharp (C#)作者 (小淺)時間11年前 (2014/01/16 00:38), 編輯推噓0(006)
留言6則, 4人參與, 最新討論串1/1
在 C# 中常常看到一種作法,以 Request.Form 來說, Request.Form["Key"] 可以取得 Key 的值,已經知道這是用 indexer 來實作, Request.Form 則可以取得所有的鍵值,請問大家這要用什麼方式來做呢? 試過用 property,會出現「成員名稱不能與它的封入型別名稱相同」, 用 indexer 也行不通。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.243.191.58

01/16 09:02, , 1F
string this[string Key]
01/16 09:02, 1F

01/16 14:16, , 2F
不懂你問題在哪,HttpRequest裡面的Form是個property
01/16 14:16, 2F

01/16 14:16, , 3F
type是NameValueCollection,用 Form[] 則是呼叫這個
01/16 14:16, 3F

01/16 14:16, , 4F
NameValueCollection的indexer
01/16 14:16, 4F
public class User { public string Name; public string Phone; } public class UserCollection { private List<User> user; public UserCollection() { user = new List<User>(); } public User this[string name] { get { return ; } // 傳回 List<User> 中 Name 為 name 的 User Class } public List<User> AllUser { get { return user;} } } UserCollection member = new UserCollection(); User jack = member["Jack"]; //取得 Jack 的資料 List<User> AllMember = member.AllUser; // 取得所有使用者資料 原本想的是能不能用 member 回傳所有使用者資料? 不過打完這篇好像忽然懂大大說的,不可能用 member 取得所有使用者資料。 再請問大大,上面的做法好嗎?用 List<T> 來存 Class ※ 編輯: On1earth 來自: 111.243.191.58 (01/16 21:49)

01/17 00:42, , 5F
用Dictionary。除非你是想做Manager class。
01/17 00:42, 5F

01/18 02:02, , 6F
謝謝大大,我了解了,用Dictionary比較方便
01/18 02:02, 6F
文章代碼(AID): #1IrhcYnS (C_Sharp)
文章代碼(AID): #1IrhcYnS (C_Sharp)