无法将System.Array类型隐式转换为字符串

wil*_*lla -3 .net c# vsto

我在尝试循环数组时收到错误(无法将类型System.Array隐式转换为字符串).我已经遵循代码并且for循环带回了正确的值.

public static string[] name = new string[] { "Chris" };
        public static void FindMergeFielsa(WordprocessingDocument WPDoc, Dictionary<string, Array> WordMergeFields)
    {
        foreach (var field in WPDoc.MainDocumentPart.Document.Body.Descendants<SimpleField>())
        {
            string[] instruction = field.Instruction.Value.Split(splitChar, StringSplitOptions.RemoveEmptyEntries);

            if (instruction[0].ToLower().Equals("mergefield"))
            {
                string fieldname = instruction[1];

                foreach (var fieldtext in field.Descendants<Text>())
                {

                    if (fieldtext.InnerText =="«_skils»")
                    {
                        //TODO
                    }
                    else
                    {
                        for (int i = 0; i < name.Length; i++)
                        {
                            string value = name[i];

                            //ERORR HERE Keeps Changing Value of Name "Chris" to system.string[] when put .ToString()
                            value = WordMergeFields.ContainsKey(fieldname) ? WordMergeFields[fieldname] : null;

                            if (value != null)
                            {
                                fieldtext.Text = value;
                            }
                        }
                    }
                }
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

例外情况正在发生

value = WordMergeFields.ContainsKey(fieldname) ? WordMergeFields[fieldname] : null;
Run Code Online (Sandbox Code Playgroud)

我试图将WordMergeFields [fieldname]转换为字符串,但是当发生这种情况时,它会显示带有此代码所连接的单词模板的名称,从而调出System.String [],其中名称为"chris".我只是想知道如何解决转换类型system.array到字符串的问题.感谢您提供的任何帮助

Pat*_*man 6

那是因为WordMergeFieldsDictionary<string, Array> WordMergeFields.

WordMergeFields[fieldname] 将返回一个数组.

你不是要把它声明为具有值类型的字典string吗?

Dictionary<string, string> WordMergeFields
Run Code Online (Sandbox Code Playgroud)