首页 > 解决方案 > 如何在 c# .net core 中设置值在列表中的属性

问题描述

例如,我有一个包含 3 个值的列表

"Elon"
"1221342"
"Benguluru"

我有一个名为 Elements 的类,它有 3 个属性

public class Elements
{        
    public string Name { get; set; }
    public string Id { get; set; }
    public string City { get; set; }
}

List<string> val = new List<string>();

我正在遍历另一个列表并将值保存在列表中val

foreach (var elemTd in lstTdElem)
{
    val.Add(elemTd.Text);                        
}

现在这个列表val包含了上面提到的所有这三个值。

我想val在每个属性中一一设置列表的值。

所以,
Name应该是“Dominos”
Id应该是“1221342”
City应该是“Benguluru”

我是新手。请您帮忙。

标签: c#.net

解决方案


据我了解(澄清我是否错了)

您在列表中有一个名称、ID 和城市的列表,并且您想Elements从列表中的值创建一个类的实例。

列表就像

"Elon",
"1221342",
"Benguluru"

如果是这样的话:

PropertyInfo[] properties = typeof(Elements).GetProperties();
Elements model = new Elements();
foreach (var elemTd in lstTdElem)
{
    val.Add(elemTd);
}
for (int n = 0; n < properties.Length; n++)
{
    var property = properties[n];

    property.SetValue(model, val[n]);
}

此代码将Elements根据列表设置属性

Console.WriteLine(model.Name);  // Elon
Console.WriteLine(model.Id);    // 1221342
Console.WriteLine(model.City);  // Benguluru

推荐阅读