2017-08-03 277 views
0

我有一個類裏面的下面列出的清單:進入裏面另一個列表

public class TriggerRequest 
{ 
    public int requestReference { get; set; } 
    public List<RequestParameters> requestParameters { get; set; } 
    public List<RequestData> data { get; set; } 
} 
public class RequestParameters 
{ 
    public string name { get; set; } 
    public string value { get; set; } 
} 
public class RequestData 
{ 
    public string name { get; set; } 
} 

我試圖從類requestParameters的訪問「名」的字符串。我試過用這個:

TriggerRequest triggerRequest = null; 
Console.WriteLine(triggerRequest.requestParameters.name); 

但它不起作用。我如何從requestParameters獲取名稱?

+1

'requestParameters'是一個'List'。你必須先獲得一個項目才能進入'name'屬性 – Pikoh

+1

你需要告訴它你想從中獲取名稱的'RequestParameters'列表中的哪個項目,比如'triggerRequest.requestParameters [0] .name '或'triggerRequest.requestParameters.First()。name' – Equalsk

+0

因爲它是一個列表,所以你必須迭代這些項目並獲得名稱的值。如果您需要名字值,迭代不需要,就像@Equalsk建議的那樣。 –

回答

2

您需要告訴它您想要列表中的哪個項目名稱爲

例如,

triggerRequest.requestParameters[0].name

triggerRequest.requestParameters.First().name

+0

將此標記爲答案,因爲它是第一個。謝謝! – Radu

0

讓類TriggerRequest的對象是objTriggerRequest然後objTriggerRequest.requestParameters將是一個List<RequestParameters>所以,你必須訪問其index否則一些LINQ的擴展方法將每個RequestParameters對象。 你可以嘗試這樣的事情:

if(objTriggerRequest.requestParameters.Count > 0) 
{ 
    string name = objTriggerRequest.requestParameters[0].name; 
    // You will get the name of first RequestParameters object 
    // proceed with that 
} 

您可以嘗試使用First()拿到的第一個元素,使用循環,如果你需要遍歷的requestParameters

0

收集您可以通過一個名字得到一個要求

TriggerRequest trigger=new TriggerRequest();  
foreach(RequestParameters request in trigger.requestParameters) 
{ 
    Console.WriteLine(request.name); 
} 

您可以通過索引它

TriggerRequest trigger=new TriggerRequest(); 
trigger.requestParameters[0].name 
得到具體請求名稱