簡體   English   中英

無法從通用列表中獲取值<T>

[英]Unable to get the value from a generic list<T>

如何獲取自定義類型的通用列表的第一個和最后一個元素。

嗨,我的代碼中有這個通用列表

我想將已添加到列表 week1 中的值傳遞給函數,但我什至無法打印出這些值,或者當我將其分配給另一個 DateTime 變量時。

Response.Write(week1[0])這樣簡單的事情不起作用,我什至嘗試過(week1.First()) ,但 foreach 循環就像一個魅力。 我不想要那個,我實際上只需要一周之間的第一個和最后一個日期。

List<Week> week1 = new List<Week>();
List<Week> week2 = new List<Week>();
List<Week> week3 = new List<Week>();
List<Week> week4 = new List<Week>();
List<Week> week5 = new List<Week>();

public class Week
{
    //this class has a default constructor
    public DateTime datefortheweek { get; set; }
}

//this works fine
foreach(Week text in week1)
{
    Response.Write(text.datefortheweek);
    Response.Write("<br/>");
}

Response.Write(week1[0])不起作用可能是因為Response.Write不以Week作為參數。

如果仔細觀察,您的foreach循環方法使用text.datefortheweek而不僅僅是text 您還應該訪問datefortheweek after week[0] ,它應該可以工作:

Response.Write(week1[0].datefortheweek);
Response.Write(week1[week1.Length - 1].datefortheweek);

我還建議您使用二維數組/列表來存儲Week s。 這樣可以節省你寫的時候week1week2week3 ... weekX

List<List<Week>> weeks = new List<List<Week>>();
weeks.Add(new List<Week>());
weeks.Add(new List<Week>());
weeks.Add(new List<Week>());
...

你需要

Response.Write(week1[0].datefortheweek) 

或者

Response.Write(week1.First().datefortheweek) 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM