【发布时间】:2020-04-08 19:14:10
【问题描述】:
我有一个包含一些字符串的类:
public class Headers
{
public string FirstStaticColumn { get; set; }
public string ItemFrom { get; set; }
public string PinFrom { get; set; }
public string TerminalFrom { get; set; }
public string CableLabel { get; set; }
public string WireLabel { get; set; }
public string CrossSection { get; set; }
public string ItemTo { get; set; }
public string PinTo { get; set; }
public string TerminalTo { get; set; }
public string CableEndsleeve { get; set; }
public string LengthMM { get; set; }
}
现在我需要这些属性的所有值并将它们存储在一个列表中。
有没有比做更快的方法
Headers headers = new Headers(); /*Let's pretend that all Variables have a value now*/
List<string> list = new List<string>();
list.Add(headers.FirstStaticColumn);
list.Add(headers.ItemFrom);
list.Add(headers.PinFrom);
...
【问题讨论】:
-
你拥有它的方式很好。另一种选择是向 Headers 添加一个属性,该属性返回属性值的
IEnumerable<string>。然后list.AddRange(headers.NewPropertyNameHere); -
你考虑过反射吗?这可能合适也可能不合适,具体取决于您这样做的原因以及您需要对列表进行多少控制。
-
更快,不,更简洁,是;你可以使用反射。
标签: c#