gpt4 book ai didi

c# - 切换画笔颜色的更好方法?

转载 作者:行者123 更新时间:2023-12-04 13:03:02 24 4
gpt4 key购买 nike

我是 C# 的新手,正在做一个蛇项目。
我试图让它变成彩虹色,有没有更好的方法可以在六种颜色之间切换然后重复?

public Brush Colour(int i)
{
Brush snakeColour;
switch (i)
{
case 0:
case 6:
case 12:
case 18:
case 24:
snakeColour = Brushes.HotPink;
break;

case 1:
case 7:
case 13:
case 19:
case 25:
snakeColour = Brushes.Orange;
break;

case 2:
case 8:
case 14:
case 20:
case 26:
snakeColour = Brushes.PeachPuff;
break;

etc.

default:
snakeColour = Brushes.White;
break;
}

return snakeColour;
}

有什么建议?

最佳答案

如果您使用余数运算符(并且您假设输入为非负数),您知道您将始终拥有 0 到 5 范围内的值,因此您根本不需要开关 - 只需使用数组:

private static readonly Brush[] brushes =
{
Brushes.HotPink,
Brushes.Orange,
Brushes.PeachPuff,
...
Brushes.White
};

// TODO: Potentially rename from using "position" to something else,
// based on what the parameter is really meant to represent.
public Brush GetBrushForPosition(int position) => brushes[position % 6];

如果输入可能是负数,您可以使用稍微冗长的表达式 ((position % 6) + 6) % 6对于数组索引,它仍然会适本地循环。 (当然还有其他方法,但这相当简单。)

关于c# - 切换画笔颜色的更好方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59598218/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com