日期:2014-05-17  浏览次数:20394 次

在线等, string[] c =b.Intersect(arry);报错,请教高人

 string[] c =b.Intersect(arry);

其中b和arry均为定义的数组,调试的时候总是报错:


无法将类型“System.Collections.Generic.IEnumerable<string>”隐式转换为“string[]”。存在一个显式转换(是否缺少强制转换?)


请问是否能这样写。


我还要计算数组c中元素个数

能否写为:int k = Convert.ToInt32(c.Length);请教高人

------解决方案--------------------
string[] c =b.Intersect(arry).ToArrary();
int k = c.Length;直接这样写就行了

------解决方案--------------------
C# code
 string[] arr1 = new string[] {"1","2" ,"3"};
                string[] arr2 = new string[] { "1", "2", "4" };
                string[] result = arr1.Intersect(arr2).Cast<string>().ToArray();
                int count = result.Count();//2

------解决方案--------------------
b.Intersect(arry)返回的类型是 IEnumerable<string>,所以要转化一下