微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用 For 循环 Xamarin 表单简化字典

如何解决使用 For 循环 Xamarin 表单简化字典

我正在尝试简化这本词典的创建:

private Dictionary<Guid,int> emojiSelect = new Dictionary<Guid,int>
            {

                { emoji0.Id,0 },{ emoji1.Id,1 },{ emoji2.Id,2 },{ emoji3.Id,3 },{ emoji4.Id,4 },{ emoji5.Id,5 },{ emoji6.Id,6 },{ emoji7.Id,7 },};

使用 FOR 循环是因为元素遵循递增结构,它会减少应用程序的大小,从而节省用户空间。但是因为字典的键是用 XAML 元素的 Guid 填充的,所以我陷入了僵局,我不知道如何使用字符串来引用变量名。

我已经开始了:

for(int counter = 0; counter <= 7; counter++)
            {
                emojiArray.Add(//???\\,counter);
            }

我基本上希望能够将单词“emoji”与当前存储在“counter”变量中的数字连接起来,并将其用作对特定 XAML 元素的引用,正如目前在完全编写的字典中所发生的那样:

EG: "emoji" ++ 1 --> reference to 'emoji1' object

完成此引用后,我将能够在其末尾使用 .Id 来恢复它的 Guid

解决方法

如果 emojiXaml 中的 Element,您可以通过循环其 RootLayout 来获取它们。

例如,如果它们在 StackLayout 中,如下所示:

 <StackLayout x:Name="RootLayout">
     ...
     <... x:Name="emoji0" .../>
     <... x:Name="emoji1".../>
     <... x:Name="emoji2".../>
     ...
 </StackLayout>

然后您可以按如下方式获取它们:

foreach (var item in RootLayout.Children)
{
    emojiArray.Add(item.Id);
    Console.WriteLine("++++++++++++" +item.Id);
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。