检查数组是否有两个元素

时间:2017-06-22 18:08:22

标签: c# arrays xamarin.ios microsoft-cognitive face

我正在开发Xamarin.iOS中的应用以识别照片上的脸部。 我使用的是Cognitive Services和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] - >返回哪些是公认的人的面子ID。我想向用户表明照片上有两个人。但如果我发送的照片有一张脸,则返回数组results[0]

2 个答案:

答案 0 :(得分:2)

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

Console.WriteLine(arr.Rank);

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

答案 1 :(得分: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);