gpt4 book ai didi

c# - 缩短 "if, else"函数的代码

转载 作者:行者123 更新时间:2023-11-30 13:13:34 26 4
gpt4 key购买 nike

我有一个最大值为“9”的 slider 。每个值都应更改标签的文本。我现在只能想到这个方法:

private void Slider_Scroll(object sender, EventArgs e)
{
if (Slider.Value == 0)
{
Label.Text = "Text1";
}
else if (Slider.Value == 1)
{
Label.Text = "Text2";
}
//...and so on...
}

有没有一种方法可以用更短的方式做到这一点?

最佳答案

switch(Slider.Value) {
case 0: Label.Text = "Text1"; break;
case 1: Label.Text = "Text2"; break;
}

或者;使用字典:

static readonly Dictionary<int,string> labels = new Dictionary<int,string> {
{0, "Text1"},
{1, "Text2"}
};

和:

string text;
if(labels.TryGetValue(Slider.Value, out text)) {
Label.Text = text;
}

如果您需要在运行时根据配置查找文本(即它们不是硬编码的),则字典方法特别有用。

如果您的值是连续的整数(0 到 9 等),您还可以使用 string[]

关于c# - 缩短 "if, else"函数的代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7118235/

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