我正在尝试显示字典函数中的值,但它不显示值,它显示的是 -
1007 System.Collections.Generic.List`1[System.Int32[]]
1006 System.Collections.Generic.List`1[System.Int32[]]
1009 System.Collections.Generic.List`1[System.Int32[]]
1008 System.Collections.Generic.List`1[System.Int32[]]
我正在使用的代码如下所示
clsCollaborativeFilter mri = new clsCollaborativeFilter();
Dictionary<int, List<int[]>> movRecommendations = mri.aList1();
foreach (KeyValuePair<int, List<int[]>> kvp in movRecommendations)
{
da.Text += kvp.Key;
da.Text += " ";
da.Text += kvp.Value;
da.Text += "<br/>";
}
return da.Text;
我似乎无法理解为什么会发生这种情况
答案 0 :(得分:1)
您要将List
Array
ints
da.Text += kvp.Value;
添加到字符串中,在List
行中,它正在做什么,是否正在添加< Array
da.Text += String.Join(", ", kvp.Value.SelectMany(i => i));
的{{1}}的签名因为它并不确切地知道您要做什么。
你能做的是:
StringBuilder sb = new StringBuilder();
foreach(Int32 key in movRecommendations.Key) {
List<Int32[]> listOfArrays = movRecommendations[ key ];
sb.Append( key );
sb.AppendLine();
foreach(Int32[] array in listOfArrays) {
Boolean isFirst = true;
foreach(Int32 val in array) {
if( !isFirst ) sb.Append( ", " );
sb.Append( val );
isFirst = false;
}
sb.AppendLine();
}
sb.AppendLine("<br />");
}
da.Text = sb.ToString();
答案 1 :(得分:1)
...或者假设它确实是一个列表的字典列表,那么:
@IBAction
答案 2 :(得分:0)
我认为你真正想要的是:
Dictionary< int, List<int> >
... List<int[]>
对我来说没有多大意义。
答案 3 :(得分:0)
clsCollaborativeFilter mri = new clsCollaborativeFilter();
Dictionary<int, List<int[]>> movRecommendations = mri.aList1();
foreach (KeyValuePair<int, List<int[]>> kvp in movRecommendations)
{
da.Text += kvp.Key;
da.Text += " ";
da.Text += string.Join(",",kvp.Value);
da.Text += "<br/>";
}
return da.Text;
答案 4 :(得分:0)
Dictionary<int, List<int[]>> movRecommendations = new Dictionary<int, List<int[]>>(){
{0, new List<int[]>(){ new int[]{1, 2, 3} }},
{1, new List<int[]>(){ new int[]{7, 8, 9} }}
};
string da = String.Empty;
foreach (KeyValuePair<int, List<int[]>> kvp in movRecommendations)
{
da += kvp.Key;
da += " ";
da += String.Join(", ", kvp.Value.SelectMany(i => i));
da += "<br/>";
}
Console.WriteLine (da);
这将写出0 1, 2, 3<br/>1 7, 8, 9<br/>