簡體   English   中英

從列表類訪問屬性

[英]Accessing property from a class of list

我試圖顯示 fieldValues 內的值。 哪些字段值包含“信息”和“錯誤”。 起初我做了一個簡單的Console.Writeline(fieldValues)但我很快了解到這只是真正使用 List 的ToString()實現,只是打印了我不想顯示的類型的名稱。 然后我嘗試創建一個 foreach 循環,因為屬性FieldLevel是一個<FieldValue>類型的列表,它包含一個包含“信息”和“錯誤”的字符串value屬性。

model class:

public class LevelField
{
   public string FieldName { get; set; }
   public List<FieldValue> FieldValue { get; set; }
}

public class FieldValue
{
   public string value { get; set; }
}

in my other class:

 var fieldName = "";
 List<FieldValue> fieldValues = new();

......

foreach (var y in x.BusinessProcessStep.LogDataSources)
{
    fieldName = y.LogDataSource.LogFieldsMapping.LevelField.FieldName;
    fieldValues = y.LogDataSource.LogFieldsMapping.LevelField.FieldValue;
}

foreach (var item in fieldValues.FirstOrDefault().value)
{
    Console.WriteLine(item);
}

但是,在 fieldValues foreach 循環中,它只返回字母“I”而不是信息和錯誤。 有沒有特定的方法可以從 List FieldValue 調用屬性值?

請注意,您需要遍歷所有fieldValues列表,而不僅僅是像您那樣遍歷第一項。

試試這個:

foreach (string item in fieldValues.Select(fv => fv.value))
{
    Console.WriteLine(item);
}

或這個:

foreach (FieldValue item in fieldValues)
{
    Console.WriteLine(item.value);
}

或者使用System.Linq

fieldValues.ForEach(fv => Console.WriteLine(fv.value));

暫無
暫無

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

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