从 List<OwnStruct> 到 return List<T> 的方法,其中 List<T> 仅包含 List 中所有 OwnStructs 中的一个 属性 (C#)
Method to return a List<T> from a List<OwnStruct>, where List<T> then contains only one Property of all OwnStructs in List (C#)
我有点纠结于此。
我的程序中有一个 List<HeadStruc_Table>
。
Class HeadStruct 如下所示:
public partial class HeadStruct_Table : IComparable<HeadStruct_Table>
{
public string colName { get; set; }
public string colName_edit { get; set; }
public string alternativeNames { get; set; }
public int Table_ID { get; set; }
public bool colFound { get; set; }
public CheckBox cBox { get; set; }
我不知道如何使用 参数 (List<HeadStruct_Table>, HeadStruct_Table.colName)
创建一个方法,然后 return
一个 List<TypeOf(HeadStruct_Table.colName)>
只包含以下值colName
在这种特定情况下。
当然它应该适用于 bool
甚至 CheckBox
属性。
因为参数 HeadStruct_Table.colName
现在不起作用,因为它被声明为 public而不是 public static,我是否必须将其声明为 public static 或者是否还有其他机会通过特定的 属性。也许通过使用谓词?
这就是以后的样子?
public static IList<T> getList<T>(List<HeadStruct_Table> list, Func<HeadStruct_Table, T> getType)
{
var newList = new List<T>();
我只是不知道如何获得特殊的 属性 然后,在方法中,只读出那些值。如果没有它,我不想使用字符串作为参数。
有人有想法吗?
这是我的第一个问题。我愿意接受任何建议来改进在这里提问。谢谢。
LINQ 的 Enumerable.Select 方法已经满足了您的要求:
var newList = list.Select(x => x.colName).ToList();
我有点纠结于此。
我的程序中有一个 List<HeadStruc_Table>
。
Class HeadStruct 如下所示:
public partial class HeadStruct_Table : IComparable<HeadStruct_Table>
{
public string colName { get; set; }
public string colName_edit { get; set; }
public string alternativeNames { get; set; }
public int Table_ID { get; set; }
public bool colFound { get; set; }
public CheckBox cBox { get; set; }
我不知道如何使用 参数 (List<HeadStruct_Table>, HeadStruct_Table.colName)
创建一个方法,然后 return
一个 List<TypeOf(HeadStruct_Table.colName)>
只包含以下值colName
在这种特定情况下。
当然它应该适用于 bool
甚至 CheckBox
属性。
因为参数 HeadStruct_Table.colName
现在不起作用,因为它被声明为 public而不是 public static,我是否必须将其声明为 public static 或者是否还有其他机会通过特定的 属性。也许通过使用谓词?
这就是以后的样子?
public static IList<T> getList<T>(List<HeadStruct_Table> list, Func<HeadStruct_Table, T> getType)
{
var newList = new List<T>();
我只是不知道如何获得特殊的 属性 然后,在方法中,只读出那些值。如果没有它,我不想使用字符串作为参数。
有人有想法吗?
这是我的第一个问题。我愿意接受任何建议来改进在这里提问。谢谢。
LINQ 的 Enumerable.Select 方法已经满足了您的要求:
var newList = list.Select(x => x.colName).ToList();