-4

Below is my code which gives an error: Cannot implicitly convert type 'System.Collections.Generic.List' to 'string[]'

I tried several times to solve the error. But I failed to do so. if any body can suggest what could be the solution.. Thanks :)

public GetContentResponse GetContent(abcServiceClient client, QueryPresentationElementIDsResponse querypresentationelementresponse)
        {
            GetContentRequest GetContentRequest = new GetContentRequest();
            GetContentResponse contentresponse = new GetContentResponse();
            querypresentationelementresponse = presentationElementId(client);
            List<string[]> chunks = new List<string[]>();
            for (int i = 0; i < querypresentationelementresponse.IDs.Length; i += 25)
            {
                chunks.Add(querypresentationelementresponse.IDs.Skip(i).Take(25).ToArray());
                contentresponse = client.GetContent(new GetContentRequest()
                {
                    IDs = chunks // here i get this error
                });
            }

            return contentresponse;
        }
4

2 回答 2

8

您正在尝试将 List 分配给字符串数组。将列表转换为数组。由于您没有确切指定错误的位置,我想是在您分配 IDs 变量时。

以下代码将解决它:

public GetContentResponse GetContent(abcServiceClient client, QueryPresentationElementIDsResponse querypresentationelementresponse)
        {
            GetContentRequest GetContentRequest = new GetContentRequest();
            GetContentResponse contentresponse = new GetContentResponse();
            querypresentationelementresponse = presentationElementId(client);
            List<string> chunks = new List<string>();
            for (int i = 0; i < querypresentationelementresponse.IDs.Length; i += 25)
            {
                chunks.AddRange(querypresentationelementresponse.IDs.Skip(i).Take(25));
                contentresponse = client.GetContent(new GetContentRequest()
                {
                    IDs = chunks.ToArray()
                });
            }

            return contentresponse;
        }
于 2013-04-21T21:54:23.343 回答
1

我不确定什么类型的 ID 是什么或哪一行给了你这个错误,但如果我不得不猜测,我认为它的IDs = chunks.

听起来您正在尝试将列表转换为字符串数组。您需要使用 toArray() 的方法进行转换。

编辑:好的,你有一个字符串数组。你需要抓住正确的一个:

IDs = Chunks.ToArray()[index]

其中 index 是正确的数组。对您正在使用的库不是很熟悉,所以很遗憾我无法详细说明。但是,为了大胆猜测,请尝试使用i代替index.

于 2013-04-21T21:56:35.693 回答