2014-10-16 3 views
0

Я новичок в C#, и у меня проблема с выходом консоли. У меня есть использование системы и использование System.IO Но когда я печатаю что-то в консоли, я ничего не вижу. Если я пишу:C# Output Console - «System.Collection.Generic.Dictionary2 + ValueCollection» Kinect v2

`Console.WriteLine("AAAAAAA");` 

Но я не вижу AAAAAAAA ... почему?

Я нахожусь в kinect FaceBasic code: И я хочу напечатать переменную. (значения FaceFrameResults)

Переменная - FaceFrameResult.FacePointsInInfraredSpace Property.

Type: IReadOnlyDictionary<FacePointType, Point> 

(http://msdn.microsoft.com/en-us/library/hh136548.aspx)

Я хочу напечатать это с этим кодом:

Console.WriteLine("Key = {0}, Value = {1}",faceFrame.FaceFrameResult.FacePointsInColorSpace.Keys,faceFrame.FaceFrameResult.FacePointsInColorSpace.Values);

Но ничего не происходит, и не дает мне никаких ошибок или предупреждений. Если я пытаюсь напечатать значение с помощью MessageBox

`MessageBox.Show(faceFrameResults[index].FacePointsInInfraredSpace.Values.ToString());` 
`MessageBox.Show(faceFrameResults[index].FacePointsInInfraredSpace.Values);` 

я получаю это:

System.Collection.Generic.Dictionary'2 + ValueCollection [Microsoft.Kinect.Face.FacePointType.Microsoft.Kinect. PointF]

В чем проблема? Спасибо за ваш ответ!

+0

Вы не можете распечатывать значения и ключи одновременно, вам необходимо выполнить итерацию по коллекции и распечатать их по одному. –

+0

, но даже если я пишу только значения: «MessageBox.Show (faceFrame.FaceFrameResult.FacePointsInColorSpace.Values.ToString());« У меня такая же проблема – Skipper

ответ

0

Вы пытаетесь распечатать коллекцию, вы не можете сделать это напрямую, вам нужно перебирать коллекцию и распечатывать каждый элемент по одному. например

foreach(var kvp in faceFrame.FaceFrameResult.FacePointsInColorSpace) 
{ 
    Console.WriteLine("Key = {0}, Value = {1}", kvp.Key, kvp.Value); 
} 
+0

Это работа! Спасибо! извините, но у меня еще нет практичности с foreach. (Я печатаю сообщение с почтовым ящиком, потому что с помощью console.writeline я ничего не вижу. Почему?) Проблема в том, что ключ прав, но по значению я вижу: Microsoft.Kinect.PointF – Skipper