2014-10-31 78 views
-4

請幫助我,我將bing應用程序集成到了我的應用程序中。我有這個錯誤「system collection generic.iList < long> to long []」。以下是我的AddCampaigns功能:convert type「system collection generic.iList <long> to long []」

static long[] AddCampaigns(long accountId, Campaign[] campaigns) 
     { 
      var request = new AddCampaignsRequest 
      { 
       // Set the header information. 
       UserName = *******, 
       Password = *******, 
       DeveloperToken = DeveloperToken, 
       CustomerAccountId = accountId.ToString(CultureInfo.InvariantCulture), 
       AuthenticationToken = "EwB4AnhlBAAUlZly8ML8fhDf5bGNDempXPXcgIkAAR6FFH6GZgnGlMCKP+G72LRhOQ+NSiYSSxHSpLWP8XZ/DbYJLgSHHUPFyswjNewclBJFuG/hTZyrZ5m8zTKqW1lSSPL76H5Wfn5CJUG3PWwEm6yl4TdqXlekTcEbyZgXxCNs+IwXwzaaEuxWeNAGl2Fdw/AVYg1DpcAgVZ8h1up833SizwHaBx1HSbDwMxJQOdQWy0wuBuCzIFoXS4TJchHQwrNhRE1fkJNqGoqpmNPSIU8FnOreEHpmtRq84xSorI5GJ2NytwJA2OiBxgGxd15b4jJ6UpSr1gbRNAwAQ6lfp2hteKze/c7RL49evxDXfmVF2KDhySQGRfIk5I3V7Y4DZgAACG16WwzKc/17SAFUXSSUZqD3WEdQmIKaJmysvsUi0hWNf1m9mmq6j8giqiUiscMj87WN+lBRX5WB8uRNHcFfvxKuNvJL7+A0OY7NvzKT43ALcK9dxPF9f00dmVNdNTv1omGzv3SrmulkX7rJxA2rMg72LA69qdrc3zNruWG0IOAghElJT6UnLaECoPJkG3zQtYD5YJjLXxOdjOgucL8hZjKGaJ7uL/xvZRve8hStQdVVffmnqkmILjkrpj30o+61Tw7ppiyw4c/Felo9V2/19y/Uwyg0LA42bHmx2E7WIz9W1JJsBq5ptEwwrz7aho5RKWuh6WOmBtbvwcC4Z+FF6y0KYUjjUuPV6zJ4r3aeX9xE6ZhALQt+JCPlsWRqvglY7TbdB7ELjrAvgz0emrRSsO0PMQRA/IuJjP/VlxZ52Kquv4f03esn92KLIYd9CyFFHFD+XgE=", 
       // Set the request information. 
       AccountId = accountId, 
       Campaigns = campaigns 
      }; 

      return _service.AddCampaigns(request).CampaignIds; 
     } 

在此先感謝。

+1

只需在結果上調用'.ToArray()'。 – 2014-10-31 14:36:05

+2

@Leandro認真嗎? *這對你來說是一個有趣的問題?這是諷刺嗎? – Servy 2014-10-31 14:40:56

+0

@Leandro:那麼你很幸運。 SO上有上百萬個這樣的問題。 – 2014-10-31 14:41:58

回答

0

使用ToArray() LINQ method可在IEnumerable<T>上獲得。

0

您必須列表轉換爲數組列表對象的

.ToArray() 

方法。

建議: 順便說一句,你確定你確實需要一個數組或列表或IEnumerable?

1

從您的標題假設CampaignIdsIList<long>那麼你可以簡單地使用的LINQ的ToArray()來解決該問題

using System.Linq; 

//... 
return _service.AddCampaigns(request).CampaignIds.ToArray(); 

如果CampaignIds需要任何形式的翻譯,添加.Select()ToArray()

//...  
return _service.AddCampaigns(request).CampaignIds 
    .Select(id => /** Some Translation work **/) 
    .ToArray(); 

您還應仔細考慮使用Long[]針對sinple IEnumerable<long>取決於在使用上 - 使用.ToArray會帶來一些開銷,如果您不需要結果中的特定於陣列的功能,則可以避免這些開銷。