使用基于输入的List C#的属性动态创建对象

时间:2018-01-26 03:46:14

标签: c# arrays list linq object

我有一个方法,它接受两个整数数组作为参数。我想根据输入动态创建对象。因此,如果用户输入[2,3]和[4,3,2],我想创建3个新对象(Friend2,Friend3,Friend4)。 我遇到了两个问题:

  • 根据列表项动态创建具有不同名称的多个对象
  • 迭代两个列表并仅选择两个列表的不同值。

        static int maxTokens( int[] friends_from, int[] friends_to){
    
    **-- Need Code Here  to iterate through both arrays and create distinct objects**
    
    foreach (var Friend in  friends_from and  friends_To)
        {
            Friend  intFriend[i] = new Friend();
        }
      }
    

    有没有办法使用Linq(如果不是最好的方法是什么?):

  • 避免迭代两个列表,将它们添加到第三个列表并选择不同的

  • 基于listItem动态创建具有不同名称的对象

1 个答案:

答案 0 :(得分:0)

您可以使用union操作来获取如下所示的不同值数组,然后根据需要创建对象

 static int maxTokens( int[] friends_from, int[] friends_to)
 {
     var uniqueFriends = friends_from.Union(friends_to).ToArray();

     foreach (var Friend in  uniqueFriends)
     {
        // add your logic for creating instance
     }
  }