0

我正在 Xamarin.iOS 中开发应用程序来识别照片上的面孔。我正在使用认知服务和 Windows SDK。当我发送带有两张脸(对应于两个不同的人)的照片时,我收到两个元素数组:

var result = results[0 or 1]

我想知道如何检查数组是否有两个元素(因为在大多数情况下我只发送一张脸,所以结果是有一个元素)?

编辑也许我会显示我的代码:

var result1 = results[1].Candidates[0].PersonId;
var person = await fsc.GetPersonAsync(personGroupId, result);
Console.WriteLine($"Person indentified is {person.Name}");

results[]是一个数组,其中返回已识别人员的 faceID。我的意思是,如果我发送带有 2 张面孔的照片,我会得到回报,results[0]并且results[1]-> 已识别人的 faceID 在哪里。我想向用户展示照片上有两个人。但是,如果我发送一张返回的照片是数组results[0]

4

2 回答 2

2

为了找出有多少维度,请使用如下代码。

Console.WriteLine(arr.Rank);

这将返回维数。我不熟悉[0 or 1]您在那里使用的语法。

于 2017-06-22T18:12:36.367 回答
2

对于真正的二维数组:

string[,] example1 = new string[3, 3] {{"a","b","c"},
                                       {"d","e","f"}, 
                                       {"g","h","i"} };
Console.WriteLine("Array has {0} dimensions, with {1} x {2} = {3} elements total",
                  example1.Rank,
                  example1.GetUpperBound(0) + 1,
                  example1.GetUpperBound(1) + 1,
                  example1.Length);

对于具有一个或两个元素的简单数组:

string[] example2 = new string[]{"a","b"};

Console.WriteLine("Array has {0} elements.",
                  example2.Length);

对于锯齿状数组:

string[][] example3 = new string[][]{{"a,b,c"},
                                     {"1","2","3","4"}};

Console.WriteLine("Array contains [0] arrays with [1] and [2] elements each",
                  example3.Length,
                  example3[0].Length,
                  example3[1].Length);
于 2017-06-22T18:19:55.573 回答