转换类型“;系统集合泛型.iList<;long>;变长[]”;

本文关键字:gt long 变长 lt iList 类型 系统 集合 泛型 转换 | 更新日期: 2023-09-27 18:28:33

请帮助我在应用程序中集成bing应用程序。我得到了这个错误"系统集合泛型.iList<long>tolong[]"。下面是我的AddCampaigns功能:

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;
        } 

提前谢谢。

转换类型“;系统集合泛型.iList<;long>;变长[]”;

根据您的标题假设CampaignIdsIList<long>,那么您可以简单地使用Linq的ToArray()来修复问题

using System.Linq;
//...
return _service.AddCampaigns(request).CampaignIds.ToArray();

如果CampaignIds需要任何类型的翻译,请在ToArray() 之前添加.Select()

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

您还应该根据使用情况仔细考虑对单个IEnumerable<long>使用Long[]——如果不需要结果中的特定于阵列的功能,则使用.ToArray会产生一些开销。

使用IEnumerable<T>上可用的ToArray() LINQ方法。

您必须使用将列表转换为数组

.ToArray()

List对象的方法

建议:顺便问一下,你确定你真的需要一个数组、列表或IEnumerable吗?