如何解决使用 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
解决方法
如果 emoji 是 Xaml 中的 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 举报,一经查实,本站将立刻删除。