我开始使用WPF形式的visual studio学习C#,因此我的编码知识在语言方面非常有限,但在理解方面非常先进。
之前我曾经处理过数组但很久以前。我记得简单的mp3播放列表标签数组: “歌曲名称”,“艺术家”,“年份”等。我记得讨论如何使它成为动态但知识丢失了。
以下是我的情况:
我想构建一个程序,可以调用特定的X和Y数组点并调出整行。
这是一个例子: 在代码中,我想声明一个字符串数组,其中表示以下位置:
[var0, var1, var2, var3]
然后我想使用基于前一个“密钥”的预构建数组,以便将位置0,1,2和3链接到这些变量。
然后,在程序本身,我的想法是当我调用var1时,它从特定的数组水平行输出var0,var1,var2和var3。
以下是使用相同上一个键的另一个示例:
["Never gonna give you up", "Rick Astley", "1990", "Troll"]
["Together forever", "Rick Astley", "1990", "Pop"]
["99 Red Balloons", "Nena", "1998", "German"]
["Can't get you out of my head", "Kylie Minogue", "1995", "Pop"]
我想在#2位置查找所有匹配“Rick Astley”的元素;输出应该是:
["Never gonna give you up", "Rick Astley", "1990", "Troll"]
["Together forever", "Rick Astley", "1990", "Pop"]
但是,如果我更改列表,除非我更改键,否则变量仍保持相同的方式。
谢谢
PS:我不希望任何人制作整个程序,只是如何声明变量并找到关键变量。
答案 0 :(得分:0)
您可以使用Dictionary<TKey, TValue>
类。
这将允许您在每个键上存储类或变量。
示例:强>
var variables = new Dictionary<int, string[]>();
variables.Add(0, new string[] { "Never gonna give you up", "Rick Astley", "1990", "Troll" });
variables.Add(1, new string[] { "Together forever", "Rick Astley", "1990", "Pop" });
variables.Add(2, new string[] { "99 Red Balloons", "Nena", "1998", "German" });
variables.Add(3, new string[] { "Can't get you out of my head", "Kylie Minogue", "1995", "Pop" });
foreach (var variable in variables.Where(v => v.Value.Contains("Rick Astley")))
{
foreach (var text in variable.Value)
{
Console.Write($"{text}, ");
}
Console.WriteLine();
}
Console.Read();
<强>输出:强>
Never gonna give you up, Rick Astley, 1990, Troll,
Together forever, Rick Astley, 1990, Pop,