如何使用基于特定条件的条目填充字典对象
本文关键字:填充 字典 对象 何使用 特定条件 | 更新日期: 2023-09-27 18:34:47
我正在尝试学习C#。我想创建一个字典,其第 1,8,15...167 个键应该是 JUPITER,2,9,16 ....依此类推应该是火星等。有没有可能更简单的方法?谢谢。
public enum Planets : int { JUPITER = 1, MARS, SUN, VENUS, MERCURY, MOON, SATURN }
Dictionary<int, string> Dict = new Dictionary<int, string>();
for (int key = 1; key < 169; key++)
{
if (key % 7 == 1)
{
Dict.Add(key, Planet.JUPITER.ToString());
}
else if (key % 7 == 2)
{
Dict.Add(key, Planet.MARS.ToString());
}
else if (key % 7 == 3)
{
Dict.Add(key, Planet.SUN.ToString());
}
else if (key % 7 == 4)
{
Dict.Add(key, Planet.VENUS.ToString());
}
else if (key % 7 == 5)
{
Dict.Add(key, Planet.MERCURY.ToString());
}
else if (key % 7 == 6)
{
Dict.Add(key, Planet.MOON.ToString());
}
else
{
Dict.Add(key, Planet.SATURN.ToString());
}
如何在for
中按 7
递增并在Add
中使用偏移量:
for (int key = 1; key < 169; key += 7)
{
Dict.Add(key + 0, Planet.JUPITER.ToString());
Dict.Add(key + 1, Planet.MARS.ToString());
Dict.Add(key + 2, Planet.SUN.ToString());
Dict.Add(key + 3, Planet.VENUS.ToString());
Dict.Add(key + 4, Planet.MERCURY.ToString());
Dict.Add(key + 5, Planet.MOON.ToString());
Dict.Add(key + 6, Planet.SATURN.ToString());
}
或者只是使用key++
并运行直到您满意为止:
int key = 1;
while ( key < 169 )
{
Dict.Add(key++, Planet.JUPITER.ToString());
Dict.Add(key++, Planet.MARS.ToString());
Dict.Add(key++, Planet.SUN.ToString());
Dict.Add(key++, Planet.VENUS.ToString());
Dict.Add(key++, Planet.MERCURY.ToString());
Dict.Add(key++, Planet.MOON.ToString());
Dict.Add(key++, Planet.SATURN.ToString());
}
在和平冥王星中旋转。